home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Information / CSMP Digest / volume 3 / csmp-digest-v3-105 < prev    next >
Text File  |  1995-12-31  |  217KB  |  5,333 lines

  1. C.S.M.P. Digest             Tue, 25 Jul 95       Volume 3 : Issue 105
  2.  
  3. Today's Topics:
  4.  
  5.         BlockMove replacement?
  6.         Can ResEdit or Resorcerer generate ID header file?
  7.         Components and A5
  8.         Converting a string with numbers to an integer?
  9.         Does anyone have code to get Ethernet Address?
  10.         FutureBasic Mailing List?
  11.         How do you write 'TMPL' resources?
  12.         How much of a sound has played so far?
  13.         How to "rubber bands"?
  14.         How to use TSM floating windows?
  15.         Standalone Code Resources
  16.         Which sndCommands are safe at interrupt time?
  17.         Why fuss over OpenDoc?
  18.  
  19.  
  20.  
  21. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  22. (pottier@clipper.ens.fr).
  23.  
  24. The digest is a collection of article threads from the internet newsgroups
  25. comp.sys.mac.programmer.help, csmp.tools and csmp.misc. It is designed for
  26. people who read news semi-regularly and want an archive of the discussions.
  27. If you don't know what a newsgroup is, you probably don't have access to
  28. it. Ask your systems administrator(s) for details. If you don't have access
  29. to news, you may still be able to post messages to the group by using a
  30. mail server like anon.penet.fi (mail help@anon.penet.fi for more
  31. information).
  32.  
  33. Each issue of the digest contains one or more sets of articles (called
  34. threads), with each set corresponding to a 'discussion' of a particular
  35. subject.  The articles are not edited; all articles included in this digest
  36. are in their original posted form (as received by our news server at
  37. nef.ens.fr).  Article threads are not added to the digest until the last
  38. article added to the thread is at least two weeks old (this is to ensure that
  39. the thread is dead before adding it to the digest).  Article threads that
  40. consist of only one message are generally not included in the digest.
  41.  
  42. The digest is officially distributed by two means, by email and ftp.
  43.  
  44. If you want to receive the digest by mail, send email to listserv@ens.fr
  45. with no subject and one of the following commands as body:
  46.     help                                Sends you a summary of commands
  47.     subscribe csmp-digest Your Name     Adds you to the mailing list
  48.     signoff csmp-digest                 Removes you from the list
  49. Once you have subscribed, you will automatically receive each new
  50. issue as it is created.
  51.  
  52. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  53. Questions related to the ftp site should be directed to
  54. scott.silver@dartmouth.edu.
  55.  
  56. -------------------------------------------------------
  57.  
  58. >From howard@acns.fsu.edu (Sean Howard)
  59. Subject: BlockMove replacement?
  60. Date: Mon, 26 Jun 1995 16:27:26 -0400
  61. Organization: FSU Academic Computing & Network Services
  62.  
  63.   Ok, I want to know if there is a way to either speed BlockMove
  64. up considerably, or a way to do what it does completely bypassing
  65. it.  I've heard of BlockMoveData, but THINK C 5.0 (I know, I'm
  66. saving up) doesn't recognize it as a function.  I'd really like
  67. to learn assembly, but can't find any material on it.  If some-
  68. one could post or email an asm routine that does exactly what
  69. BlockMove does with less overhead I'd be forever thankful.
  70.  
  71.   For those of you that care, I'm tring to write a game using
  72. a sort of RLE type coding of graphics for the sprites. This
  73. would allow me to perform a number of functions (scaling, clip-
  74. ping, reversing,etc...) with less effort, and hopefully faster.
  75. Only problem is BlockMove makes it slower than CopyMask, at least
  76. I think it is BlockMove.
  77.  
  78.       Sean Howard
  79.       howard@acns.fsu.edu
  80.  
  81. +++++++++++++++++++++++++++
  82.  
  83. >From scaine@world.std.com (Steve Caine)
  84. Date: Tue, 27 Jun 1995 01:00:57 GMT
  85. Organization: The World @ Software Tool & Die
  86.  
  87. In article <howard-260695162726@sysmac1.cc.fsu.edu>, howard@acns.fsu.edu
  88. (Sean Howard) wrote:
  89.  
  90. >   Ok, I want to know if there is a way to either speed BlockMove
  91. > up considerably, or a way to do what it does completely bypassing
  92. > it.  I've heard of BlockMoveData, but THINK C 5.0 (I know, I'm
  93. > saving up) doesn't recognize it as a function.  
  94.  
  95. BlockMoveData is essentially the same code as BlockMove except that it
  96. doesn't flush the instruction caches on 68040 machines. It calls the same
  97. trap as BlockMove, but an extra bit is set that only later versions of
  98. System software recognize; earlier versions treat BlockMoveData the same
  99. as standard BlockMove.
  100.  
  101. You say THINK C 5 doesn't recognize BlockMoveData as a function. Probably
  102. all you need to do is steal a function prototype from a later version of
  103. Apple's headers, such as:
  104.  
  105. #pragma parameter BlockMoveData(__A0, __A1, __D0)
  106. extern pascal void BlockMoveData(const void *srcPtr, void *destPtr, Size
  107. byteCount)
  108. = 0xA22E;
  109.  
  110. to match the following already in the Mac #includes folder:
  111. #pragma parameter BlockMove(__A0,__A1,__D0)
  112. pascal void BlockMove(const void *srcPtr,void *destPtr,Size byteCount)
  113.     = 0xA02E; 
  114.  
  115. You might try writing your own BlockMove that does long-to-long copying of
  116. data except for the few bytes on either end that aren't long-word aligned.
  117. A little assembly, and knowing you're running on 68040 machines, could
  118. take advantage of the 16-byte copy instruction the '40 offers; I'm not an
  119. assembly guru to say just what that would look like.
  120.  
  121. --
  122. Steve Caine
  123. Cascade Systems Inc.
  124.  
  125. +++++++++++++++++++++++++++
  126.  
  127. >From hnsngr@sirius.com (Ron Hunsinger)
  128. Date: Wed, 28 Jun 1995 23:35:55 -0700
  129. Organization: ErsteSoft
  130.  
  131. In article <howard-260695162726@sysmac1.cc.fsu.edu>, howard@acns.fsu.edu
  132. (Sean Howard) wrote:
  133.  
  134. >   Ok, I want to know if there is a way to either speed BlockMove
  135. > up considerably, or a way to do what it does completely bypassing
  136. > it.  I've heard of BlockMoveData, but THINK C 5.0 (I know, I'm
  137. > saving up) doesn't recognize it as a function.  I'd really like
  138. > to learn assembly, but can't find any material on it.  If some-
  139. > one could post or email an asm routine that does exactly what
  140. > BlockMove does with less overhead I'd be forever thankful.
  141.  
  142. Don't bother. Except on very small blocks of data (under 12 bytes or so),
  143. you just aren't going to be able to beat BlockMove. It's already optimized
  144. to within an inch of its life. And since it's in the ROM, and the ROM is
  145. machine-specific, it can use the best instructions for the current
  146. processor (even MOVE16 on the 68040) without having to take the time to
  147. ask what processor that might me. The only inefficiency is in the trap
  148. overhead to get there. 
  149.  
  150. >   For those of you that care, I'm tring to write a game using
  151. > a sort of RLE type coding of graphics for the sprites. 
  152.  
  153. Do you mean you're using BlockMove to do the RLE expansion? That means
  154. you're moving very small pieces of data most of the time. You'd be better
  155. off just copying the data with the normal C idioms:  while (cnt--) *dest++
  156. = *srce++;  for example.
  157.  
  158. > This
  159. > would allow me to perform a number of functions (scaling, clip-
  160. > ping, reversing,etc...) with less effort, and hopefully faster.
  161. > Only problem is BlockMove makes it slower than CopyMask, at least
  162.  
  163. BlockMove and CopyMask are for different problem areas. BlockMove is for
  164. moving contiguous chunks of arbitrary data from one place to another.
  165. CopyMask is for moving pixels from one image to another. An image is
  166. generally not contiguous, and has to take into account things like pixel
  167. depth, rowBytes, clipping, other graphics-related issues. BlockMove has
  168. nothing to do with graphics.
  169.  
  170. > I think it is BlockMove.
  171.  
  172. Maybe not. Why don't you check, and get back to us?
  173.  
  174. -Ron Hunsinger
  175.  
  176. +++++++++++++++++++++++++++
  177.  
  178. >From wysocki@netcom.com (Chris Wysocki)
  179. Date: Fri, 30 Jun 1995 19:38:23 GMT
  180. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  181.  
  182. In article <hnsngr-2806952335550001@slip4046.sirius.com>,
  183. Ron Hunsinger <hnsngr@sirius.com> wrote:
  184.  
  185. >Don't bother. Except on very small blocks of data (under 12 bytes or so),
  186. >you just aren't going to be able to beat BlockMove. It's already optimized
  187. >to within an inch of its life. And since it's in the ROM, and the ROM is
  188. >machine-specific, it can use the best instructions for the current
  189. >processor (even MOVE16 on the 68040) without having to take the time to
  190. >ask what processor that might me. The only inefficiency is in the trap
  191. >overhead to get there. 
  192.  
  193. I used to think this until I wrote a tool to compare the efficiency of
  194. _BlockMove and _BlockMoveData to the standard ANSI routines memmove
  195. and memcopy.  The results were a bit surprising: on my Quadra 800, the
  196. MPW implementations of memmove and memcopy were signficantly faster
  197. than _BlockMove(Data) for block sizes up to about 2k.  Of course, the
  198. reverse was true when I turned on my PowerPC upgrade card, where
  199. _BlockMove (which is implemented directly in the emulator) trounced
  200. the emulated versions of memmove and memcopy.  Also, the performance
  201. of memmove and memcpy is dependent on the particular implementation
  202. being used.  The MPW versions of memmove and memcpy that I tested are
  203. rather intelligent and use both longword moves and unrolled loops; the
  204. last time I checked, the Symantec and Metrowerks versions of these
  205. functions did simple byte moves and were considerably slower.
  206.  
  207. Chris.
  208.  
  209.  
  210. +++++++++++++++++++++++++++
  211.  
  212. >From shopsinm@interport.net (shopsinm)
  213. Date: 2 Jul 1995 16:08:28 GMT
  214. Organization: Quill Program
  215.  
  216. I've written code using BlockMove on graphics with interesting results. 
  217. When I checked my codes custom blit against CopyBits in scrCopy mode
  218. CopyBits was still faster for 32x32 pixmaps.  Apple has done some very
  219. good optimization on their calls and I generaly find that for general
  220. purposes I stick to Toolbox calls.  On the other hand I did get a good 30%
  221. speedup over PlotCIcon by creating a GWorld and then calling CopyBits
  222. twice with srcOr and xor.
  223.  
  224. -- 
  225. Michael Falk Shopsin
  226. shopsinm@interport.net
  227.  
  228. "If it's not on fire then it's a software problem."
  229.  
  230. +++++++++++++++++++++++++++
  231.  
  232. >From David A Lyons <dlyons@apple.com>
  233. Date: Fri, 7 Jul 1995 19:13:03 GMT
  234. Organization: Apple Computer, Inc.
  235.  
  236. In article <scaine-2606952101340001@192.0.2.1> Steve Caine,
  237. scaine@world.std.com writes:
  238.  
  239. >BlockMoveData is essentially the same code as BlockMove except that it
  240. >doesn't flush the instruction caches on 68040 machines. It calls the same
  241. >trap as BlockMove, but an extra bit is set that only later versions of
  242. >System software recognize; earlier versions treat BlockMoveData the same
  243. >as standard BlockMove.
  244.  
  245. Perfectly true for 68K machines.  Two refinements if we include Power
  246. Macintosh models:
  247.  
  248. (1) PowerPC code that calls BlockMove or BlockMoveData does not go
  249. through the trap table at all.  These are just similar routines in
  250. InterfaceLib.
  251.  
  252. (2) In general, the difference is whether you flush "the 68K
  253. instruction cache" on a machine where there is one.  On a 68020/030,
  254. the I-cache isn't big enough to be concerned about for a BlockMove,
  255. and it always gets flushed.  On a 68040 it's worthwhile to avoid
  256. unnecessary flushes, so BlockMoveData is helpful.
  257.  
  258. On a Power Macintosh 9500 (for example), there's a *much larger* 68K
  259. instruction cache.  If you use BlockMove where you could have used
  260. BlockMoveData, you'll be throwing away a large amount of PowerPC code
  261. that had been dynamically compiled from 68K code, and that code will
  262. have to get compiled again the next time it runs.
  263.  
  264. Dave Lyons
  265. Mr Tangent
  266.  
  267. ---------------------------
  268.  
  269. >From rguttman@aol.com (Robert H Guttman)
  270. Subject: Can ResEdit or Resorcerer generate ID header file?
  271. Date: Wed, 21 Jun 1995 19:22:35 -0700
  272. Organization: Arizona State University
  273.  
  274. My Question:
  275.  
  276. Does ResEdit or Resorcerer offer the option to generate a header
  277. file (*.h) of resource IDs?
  278.  
  279.  
  280. The History:
  281.  
  282. A while back, I did some Windows 3.1 programming using Borland C++.
  283. [He pauses for the flames to subside...]  It contained a program
  284. called (something like) Workbench that would let you define some
  285. Windows resources that would later get linked in with the rest of
  286. your code (if I remember correctly).  Anyway, one of the things
  287. this application did was generate a *.h header file that contained
  288. all of the IDs of the resources as #define directives.  All modules
  289. that needed to access a resource would #include this header file
  290. for the IDs.
  291.  
  292. This approach allowed me to define my resource IDs in one place
  293. (in the resource editor) instead of both within the resource editor
  294. and then again within my source code.  This was a "good thing".  If
  295. I renamed one or more resources, I would get compile-time errors
  296. (as opposed to run-time errors - a "bad thing") if my source code
  297. didn't match up.  If I just renumbered some resources, I didn't
  298. need to go back to modify any code.  Once the new header file was
  299. generated, all references were updated automatically.
  300.  
  301. [The only down-side of this approach was that more modules needed
  302. to be recompiled than was necessary.  However, my application was
  303. small enough and the compiler fast enough that the benefit of this
  304. approach outwayed any negative impact to the execute-fix-compile-
  305. execute cycle. - IMHO]
  306.  
  307. I was disappointed not to see this capability in ResEdit.  Am I
  308. missing something?  Does Resorcerer provide this capability?
  309.  
  310. Thanks in advance for any info.
  311. - Rob Guttman
  312.   home: rguttman@aol.com
  313.   work: rguttman@epidigm.geg.mot.com
  314.   Motorola GSTG, Scottsdale, AZ (USA)
  315.   Artificial Intelligence Applications
  316.  
  317. +++++++++++++++++++++++++++
  318.  
  319. >From mhl@icf.hrb.com (Mark H. Linton)
  320. Date: 23 Jun 95 09:06:28 EST
  321. Organization: HRB Systems, Inc.
  322.  
  323. In article <rguttman-2106951922350001@ppp1-09.inre.asu.edu>, rguttman@aol.com (Robert H Guttman) writes:
  324. > My Question:
  325. > Does ResEdit or Resorcerer offer the option to generate a header
  326. > file (*.h) of resource IDs?
  327.  
  328. I don't think so but it sure would be a great idea...
  329.  
  330. HELLO, IS ANYBODY LISTENING?
  331.  
  332. I do most of my work in Rez format (I like to be able to print out
  333. and review my work--I guess everybody else just gets it right the
  334. first time =^). Actually this is one of the reasons I still use SC
  335. (I use CW also, but wish they had REAL Rez support). It is also
  336. very convinient because the Rez file listens to my
  337. ResourceDefinitions.h header for resource IDs, etc, while the
  338. strictly graphical stuff (that I create with ResEdit, Resourcerer
  339. is way to $$$, IMHO) is FIXED IN STONE, which makes it less than
  340. portable from project to project.
  341.  
  342. An additional suggestion I might add would be to have Res*
  343. ACTUALLY PAY ATTENTION to the *.h file and allow the use of
  344. symbols instead of numeric constants in the definitions. This woud
  345. get rid of the FIXED IN STONE problem as well.
  346.  
  347. -- 
  348. Hope this helps.
  349.  
  350. Mark H. Linton
  351. ____________________________________________________________________
  352. mark \'mdrk\ n [ME, fr. OE mearc boundary, march, sign; akin to OHG
  353. marha boundary, L margo] 1 a : a conspicuous object serving as a guide
  354. for travelers 2 : A standard or criterion of quality 3 : An object or
  355. point that serves as a guide --idiom. mark time. 1 : To make little or
  356. no progress
  357.  
  358. +++++++++++++++++++++++++++
  359.  
  360. >From pottier@chaland.ens.fr (Francois Pottier)
  361. Date: 23 Jun 1995 17:08:54 GMT
  362. Organization: Ecole Normale Superieure, Paris
  363.  
  364. In article <1995Jun23.090628.23402@hrbicf>,
  365. Mark H. Linton <mhl@icf.hrb.com> wrote:
  366.  
  367. >> Does ResEdit or Resorcerer offer the option to generate a header
  368. >> file (*.h) of resource IDs?
  369. >
  370. >HELLO, IS ANYBODY LISTENING?
  371.  
  372. Yup :-)
  373.  
  374. I have encountered the same problem. I would be willing to try and
  375. write a small tool to do that. Something scriptable but without a user
  376. interface, for instance.
  377.  
  378. We would have to agree on the format of the generated header files.
  379. Something like
  380.  
  381. const ResType resty_<Name> = '<TYPE>';
  382. const short   resid_<Name> = <ID>;
  383.  
  384. where <Name>, <TYPE> and <ID> are placeholders for the resource's
  385. name, type and ID? Would that suit you? Let's discuss it. I might
  386. then try to program the thing in my spare time.
  387.  
  388.  
  389. -- 
  390. Francois Pottier                                            pottier@dmi.ens.fr
  391. - ----------------------------------------------------------------------------
  392. Check my WWW page at http://acacia.ens.fr:8080/home/pottier/ ...
  393.  
  394. +++++++++++++++++++++++++++
  395.  
  396. >From ckt@best.com (Chris Thomas)
  397. Date: Sat, 24 Jun 1995 18:47:55 -0800
  398. Organization: Echo Software
  399.  
  400. In article <3sesf6$fgt@nef.ens.fr>, pottier@chaland.ens.fr (Francois
  401. Pottier) wrote:
  402.  
  403. > In article <1995Jun23.090628.23402@hrbicf>,
  404. > Mark H. Linton <mhl@icf.hrb.com> wrote:
  405. > >> Does ResEdit or Resorcerer offer the option to generate a header
  406. > >> file (*.h) of resource IDs?
  407. > >
  408. > >HELLO, IS ANYBODY LISTENING?
  409. > Yup :-)
  410. > I have encountered the same problem. I would be willing to try and
  411. > write a small tool to do that. Something scriptable but without a user
  412. > interface, for instance.
  413. > We would have to agree on the format of the generated header files.
  414. > Something like
  415. > const ResType resty_<Name> = '<TYPE>';
  416. > const short   resid_<Name> = <ID>;
  417. > where <Name>, <TYPE> and <ID> are placeholders for the resource's
  418. > name, type and ID? Would that suit you? Let's discuss it. I might
  419. > then try to program the thing in my spare time.
  420.  
  421. What's the point of listing the type, though?  I can't think of one
  422. case where I wouldn't know it.  Which only means that I can't think
  423. of one.  Can you?
  424.  
  425. In any case, this idea struck me as incredibly useful, and I had
  426. the existing source code/concepts lying around to handle most of
  427. it, so I wrote it last night.  I call it ResAnomaly, and I'm just
  428. about to post it to alt.sources.mac, comp.sources.mac, and
  429. macgifts.
  430.  
  431. It doesn't have a user interface yet, but it's very easy to
  432. configure using a resource editor and a compiler...
  433.  
  434. This is sample output:
  435.  
  436. /*
  437.    Resource information for file Nyet 68k!
  438.  
  439.    This file was autogenerated by ResAnomaly.
  440.    ckt@best.com for more information.
  441. */
  442.  
  443. const short kResRamblin__ALRT_ID = 128;
  444. const short kResError_2_ALRT_ID = 129;
  445. const short kResAbout_ALRT_ID = 200;
  446. const short kResRequired_Suite_aedt_ID = 128;
  447.  
  448. Source code/project file is included.
  449.  
  450. -- 
  451. Chris Thomas, ckt@best.com
  452. "And the moral of this episode is: Gene Roddenberry's dead, so let's just suck."
  453.  
  454. +++++++++++++++++++++++++++
  455.  
  456. >From pottier@felouque.ens.fr (Francois Pottier)
  457. Date: 27 Jun 1995 10:37:41 GMT
  458. Organization: Ecole Normale Superieure, Paris
  459.  
  460. In article <ckt-2406951847550001@ckt.vip.best.com>,
  461. Chris Thomas <ckt@best.com> wrote:
  462.  
  463. >What's the point of listing the type, though?  I can't think of one
  464. >case where I wouldn't know it.  Which only means that I can't think
  465. >of one.  Can you?
  466.  
  467. Actually, yes. When I store settings in my preferences file I use
  468. resources with various types which I choose more or less randomly
  469. so it would be useful to have the program generate a constant for
  470. the type. Well, at least optionally.
  471.  
  472.  
  473.  
  474. -- 
  475. Francois Pottier                                            pottier@dmi.ens.fr
  476. - ----------------------------------------------------------------------------
  477. Check my WWW page at http://acacia.ens.fr:8080/home/pottier/ ...
  478.  
  479. +++++++++++++++++++++++++++
  480.  
  481. >From radix@efn.org (Gregory Jorgensen)
  482. Date: Fri, 23 Jun 1995 14:29:29 -0800
  483. Organization: Radix Consulting Inc.
  484.  
  485. In article <1995Jun23.090628.23402@hrbicf>, mhl@icf.hrb.com (Mark H.
  486. Linton) wrote:
  487.  
  488. > > Does ResEdit or Resorcerer offer the option to generate a header
  489. > > file (*.h) of resource IDs?
  490. > >
  491.  
  492. Resorcerer has a built-in script language; it could probably be made to do
  493. this for you.
  494.  
  495. Referring to resources by name works for me. Fewer than half of my
  496. resources are gotten by ID. When I don't care about the ID or order I use
  497. GetIndResource to just get them all. I have a nifty little function that
  498. gets the ID of each resource of a specific type, then sorts the IDs (which
  499. GetIndResource won't do).
  500.  
  501. > I don't think so but it sure would be a great idea...
  502. > HELLO, IS ANYBODY LISTENING?
  503. > I do most of my work in Rez format (I like to be able to print out
  504. > and review my work--I guess everybody else just gets it right the
  505. > first time =^). Actually this is one of the reasons I still use SC
  506. > (I use CW also, but wish they had REAL Rez support). It is also
  507. > very convinient because the Rez file listens to my
  508. > ResourceDefinitions.h header for resource IDs, etc, while the
  509. > strictly graphical stuff (that I create with ResEdit, Resourcerer
  510. > is way to $$$, IMHO) is FIXED IN STONE, which makes it less than
  511. > portable from project to project.
  512.  
  513. Resorcerer is only too expensive until you use it. Then you wonder how you
  514. got along without it.
  515.  
  516. -- 
  517. Gregory Jorgensen
  518. radix consulting inc
  519. radixinc@aol.com, radix@efn.org
  520.  
  521. "I would consent to have a limb amputated to recover my spirits." -- Samuel Johnson
  522.  
  523. +++++++++++++++++++++++++++
  524.  
  525. >From rguttman@aol.com (Robert H Guttman)
  526. Date: Tue, 27 Jun 1995 23:07:15 -0700
  527. Organization: Arizona State University
  528.  
  529. In article <3son1l$g7@nef.ens.fr>, pottier@felouque.ens.fr (Francois
  530. Pottier) wrote:
  531.  
  532. > In article <ckt-2406951847550001@ckt.vip.best.com>,
  533. > Chris Thomas <ckt@best.com> wrote:
  534. > >What's the point of listing the type, though?  I can't think of one
  535. > >case where I wouldn't know it.  Which only means that I can't think
  536. > >of one.  Can you?
  537. > Actually, yes. When I store settings in my preferences file I use
  538. > resources with various types which I choose more or less randomly
  539. > so it would be useful to have the program generate a constant for
  540. > the type. Well, at least optionally.
  541. > -- 
  542. > Francois Pottier
  543.  
  544. Chris, have you posted your "ResAnomaly" to alt.sources.mac or
  545. comp.sources.mac yet?   Francois, have you worked on your version?
  546. (BTW, nice home page.)  I'm looking forward to trying them out.
  547.  
  548. One comment: You two were discussing naming conventions for the
  549. outputed constants.  In that Windows 3.1/Borland C++ Workbench
  550. tool, the *name* of the ID was used as the constant's name.
  551. While this may not be the universal solution (especially since
  552. ResEdit ID names can be multiple words), perhaps it can be an
  553. option.  I guess what I had envisioned was something like this:
  554.  
  555.    Let's say that I've defined the following resources:
  556.  
  557.       Resource    ID    Name
  558.       --------    -----------------
  559.         STR#      128   iAlerts
  560.                   129   iMessages
  561.         WIND      128   iDocWind
  562.  
  563.    I would expect as output, in some res.h file:
  564.    
  565.       /* STR# resources */
  566.       #define  iAlerts        128
  567.       #define  iMessages      129
  568.  
  569.       /* WIND resources */
  570.       #define  iDocWind       128
  571.  
  572. As you know, the whole point is to complement the standard way
  573. of defining resources (not to change it) via a tool that can
  574. generate a resource ID header file.  This would replace the need
  575. to duplicate resource information in our source code.  I believe
  576. that resource information should be defined in one place, namely
  577. the resource file.  Currently, this is not the standard practice.
  578.  
  579. Thanks.
  580. - Rob (rguttman@aol.com)
  581.  
  582. +++++++++++++++++++++++++++
  583.  
  584. >From resorcerer@aol.com (Resorcerer)
  585. Date: 30 Jun 1995 01:37:05 -0400
  586. Organization: America Online, Inc. (1-800-827-6364)
  587.  
  588. Question:
  589.  
  590. Although it doesn't happen very often, it is perfectly legal for a
  591. resource file to have multiple resources with the same ID.  You have to
  592. access the resources by unique resource name, rather than ID.
  593.  
  594. How would you propose to handle this situation (aside from punting, which
  595. is not an unreasonable situation).
  596.  
  597. Doug McKenna
  598. Mathemaesthetics, Inc.
  599. Developers of Resorcerer
  600.  
  601. +++++++++++++++++++++++++++
  602.  
  603. >From rguttman@epidigm.geg.mot.com (Robert H Guttman)
  604. Date: Fri, 30 Jun 1995 11:30:00 -0700
  605. Organization: Motorola GSTG
  606.  
  607. In article <radix-2306951429290001@dynip43.efn.org>, radix@efn.org
  608. (Gregory Jorgensen) wrote:
  609.  
  610. > > > Does ResEdit or Resorcerer offer the option to generate a header
  611. > > > file (*.h) of resource IDs?
  612. > Resorcerer has a built-in script language; it could probably be made to do
  613. > this for you.
  614.  
  615. I'm sure it could.  But Chris Thomas just created an excellent little
  616. utility called ResAnonamly to do just this.  It's customizable, too:
  617.  
  618.     <ftp://mirrors.aol.com:/pub/info-mac/dev/res-anomaly-10.hqx>
  619.  
  620. Just drop your resource file onto ResAnonamly and save the newly generated
  621. header file of resource IDs.  It's that easy.
  622.  
  623. - Rob Guttman
  624.   email: rguttman@epidigm.geg.mot.com
  625.   phone: 602-441-2364, fax: 602-441-2533
  626.   Motorola GSTG, Scottsdale, AZ  (USA)
  627.   Artificial Intelligence Applications
  628.  
  629. +++++++++++++++++++++++++++
  630.  
  631. >From rguttman@aol.com (Robert H Guttman)
  632. Date: Sat, 01 Jul 1995 13:56:57 -0700
  633. Organization: Arizona State University
  634.  
  635. In article <3t02i1$iv4@newsbf02.news.aol.com>, resorcerer@aol.com
  636. (Resorcerer) wrote:
  637.  
  638. > Question:
  639. > Although it doesn't happen very often, it is perfectly legal for a
  640. > resource file to have multiple resources with the same ID.  You have to
  641. > access the resources by unique resource name, rather than ID.
  642. > How would you propose to handle this situation (aside from punting, which
  643. > is not an unreasonable situation).
  644. > Doug McKenna
  645. > Mathemaesthetics, Inc.
  646. > Developers of Resorcerer
  647.  
  648. Like many types of software tools, certain conventions need to be followed
  649. for their optimal use.  You can think of these as limitations of the tools
  650. although oftentimes, they help improve the reliability or maintainability
  651. of the code.
  652.  
  653. As for having multiple resources with the same ID, this shouldn't pose as
  654. a problem for a tool such as ResAnomaly.  If we had two window resources
  655. with the same ID, for example, a possible output of ResAnomaly could be:
  656.  
  657.    #define iMyDocumentWIND 128
  658.    #define iMyDialogWIND 128
  659.  
  660. It should be noted that while having the same ID for same-type resources
  661. may be permissible, it is discouraged.  The problem case, however, occurs
  662. when two resources of the same type have the same name (regardless of
  663. their IDs).  This practice is not necessarily discouraged and more likely
  664. to occur than redundant IDs.
  665.  
  666. In this case, a tool like ResAnomaly could simply "punt", simply append
  667. consecutive numbers to the existing name, or a number of other solutions.
  668. However, this is where a certain programming convention could (optionally)
  669. be enforced.  As a user of such a tool, I would prefer that, in this case,
  670. ResAnomaly (or similar tool) warn me of the name conflict and abort the
  671. generation of the resource header file.
  672.  
  673. I welcome the option of having a convention forced upon me if it could
  674. potentially improve the reliability or maintainability of my code.  I
  675. would even put this type of protection up there with local file locking
  676. when using configuration management systems.  Such conventions, while
  677. perhaps limiting us in some way, exist to help prevent us from shooting
  678. ourselves in the foot.
  679.  
  680.    [For those of you not familiar with ResAnomaly, it is an excellent
  681.    utility recently written by Chris Thomas for automatically generating
  682.    a header file of resource IDs by simply drag and dromight be a time-saving thing to create the
  683. > definitions once from a large resource file for which there are no
  684. > definitions, but my experience as a developer has been that I'll typically
  685. > add only a couple of resources (at most) at a time to a resource file, and
  686. > adding my own symbolic constants to my initially empty "ResourceIDs.h"
  687. > file takes only a few seconds.
  688.  
  689. Well, the _ResAnomaly_ (hey, I thought you were the Mathemaesthetics
  690. Spelling Wizard) scheme is more flexible than it might be.
  691.  
  692. > I think a better solution would be for the resource editor to go to the
  693. > effort of understanding one's header file, rather than the resource editor
  694. > forcing you to understand its header file.  This is a much harder problem,
  695. > but one which (the great god of development willing) the next version of
  696. > Resorcerer will hopefully solve.  Once that's done, having the resource
  697. > editor generate an initial file of symbolic definitions would be just
  698. > frosting on the cake.
  699.  
  700. That _does_ sound interesting.  Run through the
  701. header file, parsing macros, enums, and const declarations.  Then
  702. apply to the resource file.  I see two problems:  how are you 
  703. going to determine the resource type?  Requiring a standard
  704. format doesn't seem right.  Also, ResAnomaly, by default, writes the
  705. string as const short kMyResource_DLOG_ID = 128;  What if the
  706. user decides to use English?  kMyResourceDialogID = 128?  New
  707. preferences for english to filetype translation?
  708.  
  709. -- 
  710. Chris Thomas, ckt@best.com
  711.  
  712. +++++++++++++++++++++++++++
  713.  
  714. >From stepanek@iconz.co.nz (George Stepanek)
  715. Date: 4 Jul 1995 07:35:37 GMT
  716. Organization: N/A
  717.  
  718. In article <ckt-0207951823240001@0.0.0.0>
  719. ckt@best.com (Chris Thomas) writes:
  720.  
  721. > What ResAnomaly will do is warn you of the conflict, give you the
  722. > option of skipping the resource, stopping altogether, or writing it
  723. > to the file anyway.  Memory reqs will increase, but we're using temp
  724. > memory anyway. 
  725. > No promises as to time of completion, but might be this week.
  726.  
  727. Ahem, while you're about it, could I make another suggestion? I find
  728. the listing of the resource IDs to be extremely useful, and the only
  729. thing that would be more useful would be if it also listed MENU and
  730. DITL items as well. Is this possible? Is this desirable?
  731.  
  732. George Stepanek         (stepanek@iconz.co.nz)
  733.  
  734. +++++++++++++++++++++++++++
  735.  
  736. >From resorcerer@aol.com (Resorcerer)
  737. Date: 5 Jul 1995 14:43:44 -0400
  738. Organization: America Online, Inc. (1-800-827-6364)
  739.  
  740. Chris -
  741.  
  742. >>(hey, I thought you were the Mathemaesthetics Spelling Wizard) 
  743.  
  744. Mea culpa.
  745.  
  746. >>I see two problems:  how are you 
  747. going to determine the resource type?  Requiring a standard
  748. format doesn't seem right.  
  749.  
  750. One possibility is to use a #pragma to give special attributes to certain
  751. definitions and enums that would be ignored by the C compiler.
  752.  
  753. Doug McKenna
  754. Mathemaesthetics, Inc.
  755.  
  756. +++++++++++++++++++++++++++
  757.  
  758. >From rguttman@epidigm.geg.mot.com (Robert H Guttman)
  759. Date: Wed, 05 Jul 1995 15:08:48 -0700
  760. Organization: Motorola GSTG
  761.  
  762. In article <3t9g92$mib@newsbf02.news.aol.com>, resorcerer@aol.com
  763. (Resorcerer) wrote:
  764. > The only problem I have with the ResAnomoly scheme is that I always feel
  765. > that algorithmically-generated symbolic names are always going to be less
  766. > readable and less easier to use than the one's you create for yourself.  I
  767. > can understand why it might be a time-saving thing to create the
  768. > definitions once from a large resource file for which there are no
  769. > definitions, but my experience as a developer has been that I'll typically
  770. > add only a couple of resources (at most) at a time to a resource file, and
  771. > adding my own symbolic constants to my initially empty "ResourceIDs.h"
  772. > file takes only a few seconds.
  773.  
  774. In my experience, the problem is not when adding new resources but when
  775. modifying existing resources.  When resource IDs change, all header files
  776. and/or source code references must be manually updated.  The more changed
  777. IDs, the more updating required, thus the more chance for run-time errors
  778. (not compile-time errors).  Hopefully, these would be caught via testing.
  779.  
  780. > I think a better solution would be for the resource editor to go to the
  781. > effort of understanding one's header file, rather than the resource editor
  782. > forcing you to understand its header file.  This is a much harder problem,
  783. > but one which (the great god of development willing) the next version of
  784. > Resorcerer will hopefully solve.  Once that's done, having the resource
  785. > editor generate an initial file of symbolic definitions would be just
  786. > frosting on the cake.
  787.  
  788. This *is* a much harder problem.  If I understand you correctly, I would
  789. be able to use Resorcerer to generate an initial header file, add anything
  790. else I wanted to the file (i.e., comments, other constants, etc.), and
  791. then have Resorcerer update the file with the latest resource IDs (and/or
  792. names) without disrupting the extra info that I had added.  This would be
  793. comparable to GUI builders that can effectively manipulate previous output
  794. that had callbacks added (for example) or CASE tools that can read back in
  795. previous source code output (for example) to continue design work.
  796.  
  797. This would be a highly welcome addition to Resorcerer.
  798.  
  799. +++++++++++++++++++++++++++
  800.  
  801. >From nick+@pitt.edu ( nick.c )
  802. Date: 6 Jul 1995 14:15:00 GMT
  803. Organization: The Pitt, Chemistry
  804.  
  805. In article <rguttman-0507951508500001@137.124.91.131>,
  806. rguttman@epidigm.geg.mot.com (Robert H Guttman) wrote:
  807.  
  808. >If I understand you correctly, I would
  809. >be able to use Resorcerer to generate an initial header file, add anything
  810. >else I wanted to the file (i.e., comments, other constants, etc.), and
  811. >then have Resorcerer update the file with the latest resource IDs (and/or
  812. >names) without disrupting the extra info that I had added.  
  813.  
  814.  
  815.     I think I would keep the Resorcerer generated header as a 
  816.       separate header file, and add my own constants with 
  817.       a different file.  That way less risk of the computer
  818.       generated file choking on or mulching my own additions.
  819.  
  820.  
  821.  ---------------------= Nicholas C. DeMello =--------------------
  822.  
  823.  Internet: nick+@pitt.edu            _/   _/  _/  _/_/_/   _/   _/  
  824.    eWorld: nick                     _/_/ _/  _/  _/   _/  _/_/_/ 
  825.       CIS: 71232,766               _/ _/_/  _/  _/       _/ _/    
  826.      http://www.pitt.edu/~nick/   _/   _/  _/   _/_/_/  _/   _/     
  827.                     
  828.  
  829. ---------------------------
  830.  
  831. >From William_Turner@lamg.com (William Turner)
  832. Subject: Components and A5
  833. Date: 04 Jul 1995 07:19:24 GMT
  834. Organization: Los Angeles Macintosh Group BBS
  835.  
  836.  
  837. Is anyone making globally-registered components? I'm confused about this
  838. business of SetComponentInstanceA5... do I set a value for this? Do I just
  839. drop to assembly, move.l a5, d0, then pass the d0 value to
  840. SetComponentInstanceA5? Does this have to come BEFORE
  841. SetComponentInstanceStorage? (I've seen some production code where Set...A5
  842. came AFTER Set...Storage.) And what about the PowerPC; I don't have the
  843. microprocessor book for that chip...
  844.  
  845. Thanks in advance...
  846.  
  847. -- William Turner (william_turner@lamg.com)
  848.  
  849.  
  850. +++++++++++++++++++++++++++
  851.  
  852. >From Matt Slot <fprefect@umich.edu>
  853. Date: 4 Jul 1995 20:25:01 GMT
  854. Organization: University of Michigan
  855.  
  856. William Turner, William_Turner@lamg.com writes:
  857.  > Is anyone making globally-registered components? I'm confused about this
  858.  > business of SetComponentInstanceA5... do I set a value for this? Do I just
  859.  > drop to assembly, move.l a5, d0, then pass the d0 value to
  860.  > SetComponentInstanceA5? Does this have to come BEFORE
  861.  > SetComponentInstanceStorage? (I've seen some production code where Set...A5
  862.  > came AFTER Set...Storage.) And what about the PowerPC; I don't have the
  863.  > microprocessor book for that chip...
  864.  
  865. One great use for SetComponentA5() would be if you have a background-only
  866. application that offers plug-in services for other programs or inside other
  867. A5-contexts. You can use SetA5() to do what you are looking for.
  868.  
  869.     long SetA5(long);  Sets A5 to a particular value, and returns the old
  870.                        value to the caller.
  871.                        
  872. Try this snippet from your components home context:
  873.  
  874.  
  875.         long saveA5;
  876.         
  877.         SetA5(saveA5 = SetA5(0);
  878.         SetComponentInstanceA5(saveA5);
  879.         
  880.  
  881. Saving A5 does not depend on saving component storage, so calling in either
  882. order should be fine. Also, since you don't need to worry about globals in
  883. PowerPC code (because the CFM manages it for you), SetA5() doesn't need to 
  884. do anything -- in fact its #define'd to 0.
  885.  
  886. If you haven't checked NIM:More Toolbox, that is a great place to start. It
  887. took me a few readings to feel comfortable with the workings of the Component
  888. Manager. You might even check out the snippets or Q+A documents that Apple
  889. has online:
  890.  
  891.     ftp://ftp.info.apple.com/Apple.Support.Area/Developer_Services/
  892.        /Sample_Code/Snippets/Snippets_-_Toolbox.sit.hqx
  893.  
  894.     ftp://sam.austin.apple.com/Apple.Support.Area/Developer_Services/
  895.        //Technical_Documentation/Mac_Tech_Notes/TB-Toolbox/TN-Toolbox.sit.hqx
  896.           
  897.  
  898. I even have a (poorly written) shell component that I keep around. It was
  899. my first attempt, and it doesn't maintain global information across its
  900. instances... but it does seem to work.
  901.  
  902. Matt
  903.  
  904. +++++++++++++++++++++++++++
  905.  
  906. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  907. Date: Thu, 06 Jul 1995 10:46:59 +0800
  908. Organization: Department of Computer Science, University of Western Australia
  909.  
  910. In article <3tc82t$5j3@lastactionhero.rs.itd.umich.edu>, Matt Slot
  911. <fprefect@umich.edu> wrote:
  912.  
  913. >I even have a (poorly written) shell component that I keep around. It was
  914. >my first attempt, and it doesn't maintain global information across its
  915. >instances... but it does seem to work.
  916.  
  917. Talking about components, Internet Config has lots of, shall we say...
  918. fascinating, component source code, that deals with creating a component
  919. and creating override components.  Source code is available as part of the
  920. IC programmer's kit on...
  921.  
  922.   <ftp://redback.cs.uwa.edu.au/Others/Quinn/Config/>
  923.   <ftp://ftp.share.com/internet-configuration/>
  924.  
  925. Share and Enjoy.
  926. --
  927. Quinn "The Eskimo!"      "Space army! I'd death ray my grandmother
  928.                           for a space army about now."
  929.  
  930. ---------------------------
  931.  
  932. >From oylerb@tdkt.skypoint.net (Bill A. Oyler)
  933. Subject: Converting a string with numbers to an integer?
  934. Date: Wed, 05 Jul 1995 23:18:50 -0500
  935. Organization: The Dark Knight's Table BBS
  936.  
  937. Hello,
  938.  
  939. I have a (hopefully) simple question regarding THINK Pascal.  In my
  940. program, I use the toolbox call GetIText to get the contents of a text
  941. edit field into a string/str255.  But all I want to get from that text
  942. edit box is the numbers it contains.  So if a user enters "4 Sale" in the
  943. edit field, all I want is the "4".  I also need to make sure a number
  944. greater than 0 is entered.
  945.  
  946. Does anyone know how I can easily accomplish this?
  947.  
  948. =====================================================
  949. Bill A. Oyler               People usually get what's
  950. Minnetonka, MN, USA         coming to them ... unless
  951. oylerb@tdkt.skypoint.net            it's been mailed.
  952. =====================================================
  953.  
  954. +++++++++++++++++++++++++++
  955.  
  956. >From Helge Ziegler <hziegler@zinc.chem.ucalgary.ca>
  957. Date: 6 Jul 1995 16:39:46 GMT
  958. Organization: University of Calgary Chemistry Departement
  959.  
  960. oylerb@tdkt.skypoint.net (Bill A. Oyler) wrote:
  961. >Hello,
  962. >
  963. >I have a (hopefully) simple question regarding THINK Pascal.  In my
  964. >program, I use the toolbox call GetIText to get the contents of a text
  965. >edit field into a string/str255.  But all I want to get from that text
  966. >edit box is the numbers it contains.  So if a user enters "4 Sale" in the
  967. >edit field, all I want is the "4".  I also need to make sure a number
  968. >greater than 0 is entered.
  969. >
  970. >Does anyone know how I can easily accomplish this?
  971.  
  972. Hi,
  973.         There are two routines that might be usefull for you, NumToString and
  974. StringToNum. They are both listed on pp. 489-490 in IM Vol. 1. (I don't
  975. know where they would be listed in the new IM books).
  976.  
  977. PROCEDURE NumToString( theNum: LONGINT; VAR theString: Str255);
  978. PROCEDURE StringToNum( theString: Str255,; VAR theNum: LONGINT);
  979.  
  980.  
  981.  
  982.  
  983. +++++++++++++++++++++++++++
  984.  
  985. >From oylerb@tdkt.skypoint.net (Bill A. Oyler)
  986. Date: Thu, 06 Jul 1995 22:46:33 -0500
  987. Organization: The Dark Knight's Table BBS
  988.  
  989. In article <3th3ki$kt6@ds2.acs.ucalgary.ca>, Helge Ziegler
  990. <hziegler@zinc.chem.ucalgary.ca> wrote:
  991.  
  992. >         There are two routines that might be usefull for you, NumToString and
  993. > StringToNum. They are both listed on pp. 489-490 in IM Vol. 1. (I don't
  994. > know where they would be listed in the new IM books).
  995.  
  996. Thanks, that's JUST what I needed to know!
  997.  
  998. =====================================================
  999. Bill A. Oyler               People usually get what's
  1000. Minnetonka, MN, USA         coming to them ... unless
  1001. oylerb@tdkt.skypoint.net            it's been mailed.
  1002. =====================================================
  1003.  
  1004. +++++++++++++++++++++++++++
  1005.  
  1006. >From jimnash@his.com (Jim Nash)
  1007. Date: 7 Jul 1995 20:51:53 GMT
  1008. Organization: SRS
  1009.  
  1010. oylerb@tdkt.skypoint.net (Bill A. Oyler) wrote:
  1011. > >Hello,
  1012. > >
  1013. > >I have a (hopefully) simple question regarding THINK Pascal.  In my
  1014. > >program, I use the toolbox call GetIText to get the contents of a text
  1015. > >edit field into a string/str255.  But all I want to get from that text
  1016. > >edit box is the numbers it contains.  So if a user enters "4 Sale" in the
  1017. > >edit field, all I want is the "4".  I also need to make sure a number
  1018. > >greater than 0 is entered.
  1019. > >
  1020. > >Does anyone know how I can easily accomplish this?
  1021.  
  1022. I am putting together a toolbox extender that has what you want.  So that
  1023. you do not have to buy the whole thing, here is the part that extracts the
  1024. "word" "4".  Then use StringToNum.  Another routine in my toolbox extender
  1025. library calls GetNextWord and includes a test that the number is really a
  1026. number:
  1027.  
  1028.  procedure RemoveLeadingSpace (var stg: Str255);
  1029.   var
  1030.    i, len: integer;
  1031.  begin
  1032.   len := length(stg);
  1033.   i := 1;
  1034.   if len > 0 then
  1035.    begin
  1036.     while (stg[i] in [' ', TAB]) and (i < len) do
  1037.      i := i + 1;
  1038.     if (stg[i] in [' ', TAB]) then
  1039.      i := i + 1;
  1040.    end;
  1041.   if i > len then
  1042.    stg := ''
  1043.   else if i > 1 then
  1044.    stg := copy(stg, i, 999);
  1045.  end;
  1046.  
  1047.  
  1048.  procedure RemoveTrailingCR (var stg: Str255);
  1049.   var
  1050.    len: integer;
  1051.  begin
  1052.   len := length(stg);
  1053.   if stg[len] = CR then
  1054.    stg := copy(stg, 1, len - 1);
  1055.  end;
  1056.  
  1057.  
  1058.  procedure GetNextWord (var stg, wrd: Str255);
  1059.   var
  1060.    len, len1: integer;
  1061.  begin
  1062.   RemoveLeadingSpace(stg);
  1063.   RemoveTrailingCR(stg);
  1064.   len := pos(' ', stg);
  1065.   len1 := pos(TAB, stg);
  1066.   if (len1 > 0) and ((len1 < len) or (len = 0)) then
  1067.    len := len1;   {Use either tab or space, whichever encountered first}
  1068.   if len = 0 then
  1069.    len := length(stg)
  1070.   else
  1071.    len := len - 1;
  1072.   wrd := copy(stg, 1, len);
  1073.   stg := copy(stg, len + 2, 99);
  1074.   if len > 0 then
  1075.    while (pos(' ', stg) = 1) do
  1076.     stg := copy(stg, 2, 99);
  1077.  end;
  1078.  
  1079. ____________________________________________________________________
  1080. James W. Nash, Synergistic Research Systems
  1081. 4409 Mahan Court, Silver Spring, MD 20906, USA
  1082. (301) 942-6601, fax: (301) 942-6656
  1083. ____________________________________________________________________
  1084.  
  1085. +++++++++++++++++++++++++++
  1086.  
  1087. >From z044304 (James Derrick)
  1088. Date: Sun, 09 Jul 1995 12:31:18 +0800
  1089. Organization: The Chinese University of Hong Kong
  1090.  
  1091. In article <oylerb-0507952318500001@msp1-8.nas.mr.net>,
  1092. oylerb@tdkt.skypoint.net (Bill A. Oyler) wrote:
  1093.  
  1094. > Hello,
  1095. > I have a (hopefully) simple question regarding THINK Pascal.  In my
  1096. > program, I use the toolbox call GetIText to get the contents of a text
  1097. > edit field into a string/str255.  But all I want to get from that text
  1098. > edit box is the numbers it contains.  So if a user enters "4 Sale" in the
  1099. > edit field, all I want is the "4".  I also need to make sure a number
  1100. > greater than 0 is entered.
  1101. > Does anyone know how I can easily accomplish this?
  1102.  
  1103. Be careful of StringToNum.  It will not extract letters properly, and you
  1104. will get garbage numbers.
  1105.  
  1106. -- 
  1107. James Derrick
  1108.  
  1109. ---------------------------
  1110.  
  1111. >From eclement@bdm.com (Eric Clements)
  1112. Subject: Does anyone have code to get Ethernet Address?
  1113. Date: Sat, 01 Jul 1995 10:52:56 -0500
  1114. Organization: BDM International, Inc.
  1115.  
  1116. I have to write a small install program that tracks the hardware ethernet
  1117. address as the key to where it has been installed.  Does anyone have any
  1118. code, or the function calls I need to look up a Ethernet Hardware
  1119. address.  Please Help.  Very important.
  1120.  
  1121. Thank you in advance.
  1122.  
  1123. - ------------------------------------------------------------------
  1124. Eric R. Clements <eclement@bdm.com>
  1125. Corporate Information Systems, Network Engineer
  1126. BDM International, Inc.
  1127.  
  1128. This is my opinion, not necessarily the opinion of my Employer.
  1129.  
  1130. +++++++++++++++++++++++++++
  1131.  
  1132. >From andrew.willmott@cs.cmu.edu (Andrew J. Willmott)
  1133. Date: Sun, 02 Jul 1995 13:10:47 -0400
  1134. Organization: CMU SCS
  1135.  
  1136. In article <eclement-0107951052560001@ger98-144.ger.bdm.com>,
  1137. eclement@bdm.com (Eric Clements) wrote:
  1138.  
  1139. > I have to write a small install program that tracks the hardware ethernet
  1140. > address as the key to where it has been installed.  Does anyone have any
  1141. > code, or the function calls I need to look up a Ethernet Hardware
  1142. > address.  Please Help.  Very important.
  1143. > Thank you in advance.
  1144.  
  1145. This is from an old hack of mine to do that kind of thing. I think the
  1146. original code was from Rich Kubota of DTS. It runs under Metrowerks';
  1147. you'll have to change CallLAPMgr to the Think C Asm style to get it to run
  1148. under that compiler.
  1149.  
  1150. - -
  1151. File: GetEtherAddress.c
  1152.  
  1153. #include <Types.h>
  1154. #include <ENET.h>
  1155. #include <Devices.h>
  1156. #include <AppleTalk.h>
  1157.  
  1158. #define LGetATalkInfo   0x09    /* Get AppleTalk info */
  1159. #define kSPConfig       0x1FB   /* low nibble of global byte indicates
  1160. whether AppleTalk active */
  1161.  
  1162. #define ETalkPh1        2       /* Ethernet Phase 1 ADEV resource ID */
  1163. #define ETalkPh2        10      /* Ethernet Phase 2 ADEV resource ID */
  1164.  
  1165. #include "GetEtherAddr.h"
  1166.  
  1167. long        CallLAPMgr(short selector);
  1168.  
  1169. int FindEthernetAddress(char *eNetAddress)
  1170. {
  1171.     EParamBlock pb;
  1172.     OSErr       err;
  1173.     long        result;
  1174.     char        adevType;
  1175.     char        slot;
  1176.     short       buffer[39];     // 78/2
  1177.     Ptr         spConfigPtr;
  1178.     
  1179.     result = CallLAPMgr(LGetATalkInfo);     /* get current connection setting */
  1180.     adevType = result & 0x000000FF;         /* atlk resource id is return
  1181. in LSB */
  1182.     slot = result >> 24;                    /* card slot returned in MSB */
  1183.  
  1184.     spConfigPtr = (Ptr)kSPConfig;
  1185.     if ((*spConfigPtr & 0x0F) != 1)  /* Check whether AppleTalk is enabled */
  1186.         return(kNoAppleTalkErr);
  1187.     
  1188.     if ((adevType != ETalkPh1) && (adevType != ETalkPh2)) 
  1189.         return(kNoEthernetErr);
  1190.     
  1191.     /* now we know that AppleTalk is active and that EtherTalk is already
  1192. open */
  1193.     
  1194.     if ((err = OpenDriver("\p.ENET", &pb.EParms1.ioRefNum)) == noErr) 
  1195.     {
  1196.         pb.EParms1.ePointer = (char *) buffer;
  1197.         pb.EParms1.eBuffSize = sizeof(buffer);
  1198.         err = EGetInfo(&pb, false);
  1199.         
  1200.         BlockMove(buffer, eNetAddress, 6);
  1201.         
  1202.         return(kNoErr);
  1203.     }
  1204.     else
  1205.         return(kCantOpenDriverErr);
  1206. }
  1207.  
  1208. asm long CallLAPMgr(short selector)
  1209. {
  1210. #define LAPMgrPtr   0xB18
  1211. #define LAPMgrCall  2
  1212.  
  1213.         LINK        A6,#0           // set up stack frame
  1214.         MOVE.W      8(A6),D0        // move selector parameter into D0
  1215.         MOVE.L      A2,-(A7)        // store A2 on stack
  1216.         MOVEA.L     LAPMgrPtr,A2    // Set A2 to address of LAP Mgr.
  1217.         JSR         LAPMgrCall(A2)  // Call LAP Manager
  1218.         MOVE.L      D1,D0           // Place result onto stack
  1219.         MOVE.L      (A7)+,A2        // Restore A2
  1220.         UNLK        A6              // restore stack frame
  1221.         RTS
  1222. }
  1223.  
  1224. - -
  1225.  
  1226. Cheers,
  1227.  
  1228. Andrew
  1229.  
  1230. - -------------------------------------------------------------------
  1231.                    In the caves all cats are grey.       
  1232. - - mailto:a.willmott@cs.cmu.edu ----- http://www.cs.cmu.edu/~ajw ---
  1233.  
  1234. +++++++++++++++++++++++++++
  1235.  
  1236. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  1237. Date: Mon, 03 Jul 1995 09:53:38 +0800
  1238. Organization: Department of Computer Science, University of Western Australia
  1239.  
  1240. In article <eclement-0107951052560001@ger98-144.ger.bdm.com>,
  1241. eclement@bdm.com (Eric Clements) wrote:
  1242.  
  1243. >I have to write a small install program that tracks the hardware ethernet
  1244. >address as the key to where it has been installed.  Does anyone have any
  1245. >code, or the function calls I need to look up a Ethernet Hardware
  1246. >address.
  1247.  
  1248. I don't have my source archive handy at the moment but this is all
  1249. documented in NIM:Networking.  Just read the docs, it's about 20 lines of
  1250. code.
  1251.  
  1252. Share and Enjoy.
  1253. --
  1254. Quinn "The Eskimo!"      "Space army! I'd death ray my grandmother
  1255.                           for a space army about now."
  1256.  
  1257. ---------------------------
  1258.  
  1259. >From conner@wolfe.net (<===Conner===>)
  1260. Subject: FutureBasic Mailing List?
  1261. Date: 7 Jul 1995 17:47:47 GMT
  1262. Organization: Wolfe Internet Access, L.L.C.
  1263.  
  1264. Does anyone know or have the address for a FutureBasic Mailing List? I 
  1265. have several problems that I need to discuss with avid FB programmers.
  1266.  
  1267. Thanks
  1268.  
  1269. Conner
  1270.  
  1271.  
  1272. +++++++++++++++++++++++++++
  1273.  
  1274. >From mel@direct.ca (Mel Patrick)
  1275. Date: Fri, 07 Jul 1995 12:14:23 -0700
  1276. Organization: Wabbit Wangler
  1277.  
  1278. In article <3tjs03$1u6@news1.wolfe.net>, conner@wolfe.net (<===Conner===>)
  1279. wrote:
  1280.  
  1281. >Does anyone know or have the address for a FutureBasic Mailing List? I 
  1282. >have several problems that I need to discuss with avid FB programmers.
  1283. >
  1284. Sorry to report the list server for FutureBasic is more down than up
  1285. lately. Here is the info if and when it gets resurrected...
  1286.  
  1287. To join the Futurebasic list list, please use the following.
  1288.  
  1289.         mail listserv@geko.com.au
  1290.         Subject: anything can go here..
  1291.  
  1292.         subscribe futurebasic YourFirstName YourLastName
  1293.  
  1294.  
  1295. Please make sure you use your real name and not the example above.
  1296.  
  1297. To unsubscribe, again...
  1298.  
  1299.         mail listserv@geko.com.au
  1300.         Subject: anything can go here..
  1301.  
  1302.         unsubscribe futurebasic
  1303.  
  1304.  
  1305. To post comments or queries about FB, to the list:
  1306. futurebasic@geko.com.au
  1307.  
  1308. Anonymous ftp facilities are available at:
  1309.         ftp://ftp.geko.com.au//pub/future-basic (only if you're in AU!)
  1310. There is another ftp site at: 
  1311.         ftp://tirpitz.ibg.uit.no
  1312. also try:
  1313.         ftp://ingrimayne.saint.joe.edu
  1314.  
  1315. If you have any questions, or problems with the mail-list, please e-mail me.
  1316.  
  1317. Enjoy.
  1318.  
  1319. Kind Regards,
  1320.  
  1321. William Bullock
  1322. willb@geko.com.au
  1323.  
  1324. ___________________
  1325. This is all the info I have, but when the list is running, there are about
  1326. 200 of us on it.
  1327.  
  1328. -- 
  1329. Mel Patrick
  1330. mel@direct.ca
  1331.  
  1332. ---------------------------
  1333.  
  1334. >From hsoi@tamu.edu (John C. Daub)
  1335. Subject: How do you write 'TMPL' resources?
  1336. Date: 23 Jun 1995 17:22:55 GMT
  1337. Organization: Texas A&M University
  1338.  
  1339.  
  1340. Hola y'all :)
  1341.  
  1342. How do you write 'TMPL' (template) resources?  I've tried looking through
  1343. a lot of examples and also looking around the net for something that
  1344. might document or give an example of how to write them, but so far
  1345. i've found nothing that really helps.
  1346.  
  1347. anyone know of where i could find documentation, tutorials, etc?
  1348.  
  1349. books, URL's, anything would be greately appreciated :)
  1350.  
  1351. Please email me any replies (or if you can, both email the reply to me
  1352. and post it too cause i'm sure there are probably other people out there
  1353. that might find this information useful) :)
  1354.  
  1355. Thanx in advance!
  1356.  
  1357. -- 
  1358. * John C. Daub (Hsoi) * Grad Student,TA * Speech Communication * Texas A&M *
  1359. *    mailto: hsoi@tamu.edu             http://tam2000.tamu.edu/~jcd7106/   *
  1360. * "Don't waste your time on me, I got my own direction.  Watch me close,   *
  1361. *  just wait and see, I'm looking for perfection"        - Ted Nugent      *
  1362.  
  1363. +++++++++++++++++++++++++++
  1364.  
  1365. >From greg_manning@gdt.com (Greg Manning)
  1366. Date: Fri, 23 Jun 1995 14:37:32 -0700
  1367. Organization: GDT Softworks Inc.
  1368.  
  1369. In article <hsoi-2306951224250001@ppp04-02.rns.tamu.edu>, hsoi@tamu.edu wrote:
  1370.  
  1371. > How do you write 'TMPL' (template) resources?
  1372.  
  1373. John,
  1374.  
  1375. TMPL's are described in the "ResEdit Reference" book, which you get when you
  1376. buy ResEdit.  If you buy ResEdit on MPW Pro you get "ResEdit Reference" in
  1377. DocViewer format on the CD.
  1378.  
  1379. Resourceror add some extensions to TMPLs which are, naturally, described in
  1380. the Resourceror manual.
  1381.  
  1382. Greg
  1383.  
  1384. -- 
  1385. greg_manning@gdt.com
  1386.  
  1387. +++++++++++++++++++++++++++
  1388.  
  1389. >From webers@primenet.com (Jacob Weber)
  1390. Date: Sat, 24 Jun 1995 22:17:33 -0700
  1391. Organization: Primenet
  1392.  
  1393. In article <hsoi-2306951224250001@ppp04-02.rns.tamu.edu>, hsoi@tamu.edu wrote:
  1394.  
  1395. >Hola y'all :)
  1396. >
  1397. >How do you write 'TMPL' (template) resources?  I've tried looking through
  1398. >a lot of examples and also looking around the net for something that
  1399. >might document or give an example of how to write them, but so far
  1400. >i've found nothing that really helps.
  1401.  
  1402. A good book for learning this kind of thing is ResEdit Complete (published
  1403. by Addison-Wesley). It gives instructions for creating TMPLs and various
  1404. other things, including writing your own editors.
  1405.  
  1406. Basically, a TMPL is just a list of fields, each with a label and a type.
  1407. Labels can be anything you want. Types can include DBYT (byte), DWRD
  1408. (word), P0FF (Pascal string), and several others. The name of the TMPL
  1409. resource must be the same as the resource type it will be used for.
  1410.  
  1411. For example, if you have a resource with two words followed by a string,
  1412. your TMPL could look like this:
  1413.  
  1414.   1) ***
  1415.   Label: First Word
  1416.   Type:  DWRD
  1417.  
  1418.   2) ***
  1419.   Label: Second Word
  1420.   Type:  DWRD
  1421.  
  1422.   3) ***
  1423.   Label: String
  1424.   Type:  P0FF
  1425.  
  1426. Then, when you edit your resource, it will look like this:
  1427.  
  1428.   First Word   [....]
  1429.   Second Word  [....]
  1430.   String       [.................]
  1431.  
  1432. - --------------------------------------------------------
  1433. Produced, Arranged, Composed, and Performed by Jacob Weber
  1434. webers@primenet.com                        CIS: 72303,3540
  1435.  
  1436. +++++++++++++++++++++++++++
  1437.  
  1438. >From phew@tartarus.uwa.edu.au (Patrick C Hew)
  1439. Date: 25 Jun 1995 08:04:14 GMT
  1440. Organization: The University of Western Australia
  1441.  
  1442. This material is summarized in obiwan, which can
  1443. be found in the info-mac archive (info-mac/dev).
  1444.  
  1445. Version 5 requires System 7.1, though I think
  1446. Version 4 can run under System 6 (it certainly
  1447. runs under 7.0).
  1448.  
  1449. The keyword for templates is "template" (I think
  1450. from memory... it may be TMPL). Also note that
  1451. the THINK Class Library defines some TMPLs for use
  1452. with the Library, and you may want to look at these
  1453. as an example (Don't copy them exactly, of course :)
  1454.  
  1455. Hope this helps,
  1456.  
  1457. Patrick
  1458.  
  1459. Patrick Hew
  1460. phew@tartarus.uwa.edu.au
  1461.  
  1462. +++++++++++++++++++++++++++
  1463.  
  1464. >From shay@cs.uwa.edu.au (Shay Telfer)
  1465. Date: Wed, 05 Jul 1995 10:58:19 +0800
  1466. Organization: Black Sun Systems
  1467.  
  1468. In article <3sj59u$okh@styx.uwa.edu.au>, phew@tartarus.uwa.edu.au (Patrick
  1469. C Hew) wrote:
  1470.  
  1471. > This material is summarized in obiwan, which can
  1472. > be found in the info-mac archive (info-mac/dev).
  1473. > Version 5 requires System 7.1, though I think
  1474. > Version 4 can run under System 6 (it certainly
  1475. > runs under 7.0).
  1476. > The keyword for templates is "template" (I think
  1477. > from memory... it may be TMPL).
  1478.  
  1479. ResEditTemplates
  1480.  
  1481. Have fun,
  1482. Shay
  1483.  
  1484. -- 
  1485. =========================== Shay  Telfer ============================
  1486.  Perth, Western Australia.  Technomancer "He's probably one of those
  1487.  Opinions for hire.             [POQ]      people who thinks that
  1488.  shay@cs.uwa.edu.au                         Elvis is dead" Fox Mulder
  1489.  
  1490. ---------------------------
  1491.  
  1492. >From roger.brown@dartmouth.edu (Roger Brown)
  1493. Subject: How much of a sound has played so far?
  1494. Date: 27 Jun 1995 14:11:15 GMT
  1495. Organization: Dartmouth College, Hanover, NH
  1496.  
  1497. I want to play a sound from a file and know how much has played at any
  1498. one time. I have a controlling device and want to be able to "rewind"
  1499. and "fast forward" through the sound. To do that, It would help to know
  1500. what the current position is.
  1501.  
  1502. A call to SndChannelStatus pretends to do what I want, giving me access
  1503. to a SCStatus record having a scCurrentTime field, but it is rarely
  1504. close to correct. The Inside Mac Sound volume admits that this value is
  1505. not updated very often and is not to be relied upon.
  1506.  
  1507. So how can I tell how much sound has played, short of tracking the time
  1508. independently?
  1509.  
  1510. Any suggests are appreciated.
  1511.  
  1512. - ------------------------------------------------------------------
  1513. Roger Brown                                roger.brown@dartmouth.edu
  1514. Software Development
  1515. Kiewit Computation Center, Dartmouth College, Hanover, NH, USA
  1516.  
  1517. +++++++++++++++++++++++++++
  1518.  
  1519. >From Maf Vosburgh <maf@mmcorp.com>
  1520. Date: 27 Jun 1995 17:45:00 GMT
  1521. Organization: MMC
  1522.  
  1523. In article <3sp3i4$b05@dartvax.dartmouth.edu> Roger Brown,
  1524. roger.brown@dartmouth.edu writes:
  1525. >
  1526. >So how can I tell how much sound has played, short of tracking the time
  1527. >independently?
  1528.  
  1529.  
  1530. Jim Reekes told me at the WWDC (namedrop alert) that the recommended
  1531. way to play AIFF files from disk is now to use QuickTime. Version 2.0
  1532. of QT will let you open and play an AIFF file as if it was a movie.
  1533. That gives you much finer time resolution. 
  1534.  
  1535. - -------------------------------------------------------------
  1536. Real QT experts just use MoviePlayer, Dumpster & ConvertToMovie.
  1537. Real C programmers use [0]-> (and it's called "sprong").
  1538.  
  1539. +++++++++++++++++++++++++++
  1540.  
  1541. >From tinyjohn@harrier.sasknet.sk.ca (tinyjohn)
  1542. Date: 27 Jun 1995 16:22:29 GMT
  1543. Organization: complex
  1544.  
  1545. In article <3sp3i4$b05@dartvax.dartmouth.edu>
  1546. roger.brown@dartmouth.edu (Roger Brown) writes:
  1547.  
  1548. > A call to SndChannelStatus pretends to do what I want, giving me access
  1549. > to a SCStatus record having a scCurrentTime field, but it is rarely
  1550. > close to correct. The Inside Mac Sound volume admits that this value is
  1551. > not updated very often and is not to be relied upon.
  1552.  
  1553. When I was writing BigSound I noticed that the accuracy of the value
  1554. returned by SndChannelStatus increases when you use a smaller buffer
  1555. with SndStartFilePlay.  However, using a smaller buffer seemed to
  1556. break up the sound on slower hardware.
  1557.  
  1558. Just an observation, I dunno if it's true for all versions of the sound
  1559. manager or on all makes and models.
  1560.  
  1561. -john
  1562.  
  1563. - -------------------------------------------------------------------
  1564. -     John Montbriand             P.O. Box. 1133                    -
  1565. -     tinyjohn@sasknet.sk.ca      Saskatoon Saskatchewan Canada     -
  1566. -     (306) 955-5189              S7K 3N2                           -
  1567. - -------------------------------------------------------------------
  1568.  
  1569. +++++++++++++++++++++++++++
  1570.  
  1571. >From h+@bga.com (Jon W{tte)
  1572. Date: Tue, 27 Jun 1995 19:43:01 -0500
  1573. Organization: Borg
  1574.  
  1575.  
  1576. In article <3sp3i4$b05@dartvax.dartmouth.edu>,
  1577. roger.brown@dartmouth.edu (Roger Brown) wrote:
  1578.  
  1579. > So how can I tell how much sound has played, short of tracking the time
  1580. > independently?
  1581.  
  1582. You track the time independently.
  1583.  
  1584. Or you use a professional sound system, like Digidesigns stuff, which come
  1585. with their own interface which is more capable (and more cumbersome) than
  1586. the Sound Manager. They still work with the Sound Manager, though.
  1587.  
  1588. Cheers,
  1589.  
  1590.                                 / h+
  1591.  
  1592.  
  1593. --
  1594.  Jon Wdtte, 11266 Taylor Draper Ln #2517, Austin
  1595.  Work: h+@metrowerks.com  Play: h+@bga.com          News != Work
  1596.  
  1597.  
  1598. +++++++++++++++++++++++++++
  1599.  
  1600. >From jim_reekes@quickmail.apple.com (Jim Reekes)
  1601. Date: Thu, 06 Jul 1995 12:10:36 -0700
  1602. Organization: Apple Computer, Inc.
  1603.  
  1604. In article <3spg2s$jju@news.bt.net>, Maf Vosburgh <maf@mmcorp.com> wrote:
  1605.  
  1606. > In article <3sp3i4$b05@dartvax.dartmouth.edu> Roger Brown,
  1607. > roger.brown@dartmouth.edu writes:
  1608. > >
  1609. > >So how can I tell how much sound has played, short of tracking the time
  1610. > >independently?
  1611. > Jim Reekes told me at the WWDC (namedrop alert) that the recommended
  1612. > way to play AIFF files from disk is now to use QuickTime. Version 2.0
  1613. > of QT will let you open and play an AIFF file as if it was a movie.
  1614. > That gives you much finer time resolution. 
  1615.  
  1616. Yes, the best way to play sound files is with QuickTime. This can play
  1617. AIFF, .au, .wav, and of course movie files. The SCStatus struct is only
  1618. update when the buffer is filled. This means that a large buffer is update
  1619. less often. The smallest buffer allowed is about 20k, and this means for a
  1620. 22kHz sound you'll get at best 1 second of resolution in timing.
  1621.  
  1622. -- 
  1623. Jim Reekes, Polterzeitgeist |       QuickTime Products R&D
  1624.                             |        Sound Manager Expert
  1625. Apple Computer, Inc.        | "All opinions expressed are mine, and
  1626. 2 Infinite Loop  MS 302-3KS |  do not necessarily represent those
  1627. Cupertino, CA 95014         |  of my employer, Apple Computer Inc."
  1628.  
  1629. +++++++++++++++++++++++++++
  1630.  
  1631. >From jim_reekes@quickmail.apple.com (Jim Reekes)
  1632. Date: Mon, 10 Jul 1995 16:44:19 -0700
  1633. Organization: Apple Computer, Inc.
  1634.  
  1635. In article <AC160FC5966848BA@ivy-a3.ip.realtime.net>, h+@bga.com (Jon
  1636. W{tte) wrote:
  1637.  
  1638. > In article <3sp3i4$b05@dartvax.dartmouth.edu>,
  1639. > roger.brown@dartmouth.edu (Roger Brown) wrote:
  1640. > > So how can I tell how much sound has played, short of tracking the time
  1641. > > independently?
  1642. > You track the time independently.
  1643. > Or you use a professional sound system, like Digidesigns stuff, which come
  1644. > with their own interface which is more capable (and more cumbersome) than
  1645. > the Sound Manager. They still work with the Sound Manager, though.
  1646.  
  1647. Also, just use QuickTime to play the AIFF, .wav, or .au files and ask
  1648. QuickTime for the time.
  1649.  
  1650. -- 
  1651. Jim Reekes, Polterzeitgeist |       QuickTime Products R&D
  1652.                             |        Sound Manager Expert
  1653. Apple Computer, Inc.        | "All opinions expressed are mine, and
  1654. 2 Infinite Loop  MS 302-3KS |  do not necessarily represent those
  1655. Cupertino, CA 95014         |  of my employer, Apple Computer Inc."
  1656.  
  1657. ---------------------------
  1658.  
  1659. >From mneylon@engin.umich.edu (Michael K. Neylon)
  1660. Subject: How to "rubber bands"?
  1661. Date: Thu, 06 Jul 1995 11:41:49 GMT
  1662. Organization: University of Michigan
  1663.  
  1664. Does there exist any Toolbox calls to draw the animated dash line that
  1665. appears when one does a "rubber band" selection (ie dragging a
  1666. rectangle on the Finder to select multiple items).  I only need to do
  1667. this for a rectangular region, although I suspect that this does not
  1668. matter.
  1669.  
  1670. TIA...
  1671.  
  1672.   Michael K. Neylon, Graduate Student           | "It was a dark and stormy
  1673.   Dept. of ChE, Univ. of Michigan               |   night...I had just 
  1674.   mneylon@engin.umich.edu                       |   taken a creative 
  1675.   http://www.engin.umich.edu/~mneylon           |   writing course..." MST3K
  1676.  
  1677.  
  1678. +++++++++++++++++++++++++++
  1679.  
  1680. >From kagnor@ffg.com (Katy Agnor)
  1681. Date: Thu, 6 Jul 1995 13:53:02 GMT
  1682. Organization: The ForeFront Group
  1683.  
  1684. In article <3tgi63$66j@srvr1.engin.umich.edu>, mneylon@engin.umich.edu
  1685. (Michael K. Neylon) wrote:
  1686.  
  1687. > Does there exist any Toolbox calls to draw the animated dash line that
  1688. > appears when one does a "rubber band" selection (ie dragging a
  1689. > rectangle on the Finder to select multiple items).  I only need to do
  1690. > this for a rectangular region, although I suspect that this does not
  1691. > matter.
  1692. > TIA...
  1693. >   Michael K. Neylon, Graduate Student           | "It was a dark and stormy
  1694. >   Dept. of ChE, Univ. of Michigan               |   night...I had just 
  1695. >   mneylon@engin.umich.edu                       |   taken a creative 
  1696. >   http://www.engin.umich.edu/~mneylon           |   writing course..." MST3K
  1697.  
  1698. There is no one-liner in the Toolbox to do this, but here's some code that
  1699. does it just fine.  It even handles dragging the mouse in any direction
  1700. (ooooh - ahh).  Anyway, its trivial code... enjoy!
  1701.  
  1702. Katy
  1703.  
  1704. Rect RubberBandIt(Point anchorPt)
  1705. {
  1706.    Point curMousePt;
  1707.    Rect  rubberRect;
  1708.  
  1709.    curMousePt.h = 0;
  1710.    curMousePt.v = 0;
  1711.    
  1712.    PenMode(srcXor);                       /* Set pen mode to exclusive or.*/
  1713.    PenPat(&qd.gray);
  1714.  
  1715.    GetMouse(&curMousePt);                    /* Get current mouse pos.     */
  1716.  
  1717.    rubberRect.top = anchorPt.v;              /* Draw initial rectangle.    */
  1718.    rubberRect.left = anchorPt.h;
  1719.    rubberRect.bottom = curMousePt.v;
  1720.    rubberRect.right = curMousePt.h;
  1721.    DrawStuff(&rubberRect);
  1722.  
  1723.    while (Button())
  1724.    {
  1725.       GetMouse(&curMousePt);                 /* Get current mouse pos
  1726.  
  1727.       if (curMousePt.h != rubberRect.right ||      /* If mouse
  1728. moved
  1729.          curMousePt.v != rubberRect.bottom)
  1730.       {
  1731.          DrawStuff(&rubberRect);             /* Erase old
  1732.          rubberRect.bottom = curMousePt.v;
  1733.          rubberRect.right = curMousePt.h;
  1734.          DrawStuff(&rubberRect);             /* and draw new.           */
  1735.       }
  1736.    }
  1737.    
  1738.    DrawStuff(&rubberRect);                   // Erase old at end.       */
  1739.    CheckRect(&rubberRect);
  1740.  
  1741.    PenMode(srcCopy);
  1742.    PenPat(&qd.black);
  1743.  
  1744.    return(rubberRect);
  1745. }
  1746.  
  1747. void DrawStuff(rubberRect)
  1748. Rect  *rubberRect;
  1749. {
  1750.    Rect  curRect;
  1751.    
  1752.    curRect = *rubberRect;
  1753.    FrameRect(CheckRect(&curRect));
  1754. }
  1755.  
  1756.  
  1757. Rect *CheckRect(theRect)
  1758. Rect  *theRect;
  1759. {
  1760.    short temp;
  1761.  
  1762.    if (theRect->top > theRect->bottom)    /* Need to reverse top and bottom? */
  1763.    {
  1764.       temp = theRect->top;
  1765.       theRect->top = theRect->bottom;
  1766.       theRect->bottom = temp;
  1767.    }
  1768.  
  1769.    if (theRect->left > theRect->right)    /* Need to reverse left and right? */
  1770.    {
  1771.       temp = theRect->left;
  1772.       theRect->left = theRect->right;
  1773.       theRect->right = temp;
  1774.    }
  1775.    
  1776.    return theRect;                     /* This makes nested calls easier.  */
  1777. }
  1778.  
  1779. /---------------------------------------------------------/
  1780. Katy Agnor                     e-mail: kagnor@ffg.com
  1781. The ForeFront Group, Inc.      www:    http://www.ffg.com/
  1782. /---------------------------------------------------------/
  1783.  
  1784. +++++++++++++++++++++++++++
  1785.  
  1786. >From jordanz@altura.com (Jordan Zimmerman)
  1787. Date: Sun, 09 Jul 1995 16:49:37 -0800
  1788. Organization: Altura Software, Inc.
  1789.  
  1790. > There is no one-liner in the Toolbox to do this, but here's some code that
  1791. > does it just fine.  It even handles dragging the mouse in any direction
  1792. > (ooooh - ahh).  Anyway, its trivial code... enjoy!
  1793. [code snipped]
  1794.  
  1795. However, if you want your rubber band selection rects to look like the
  1796. Finder, you'll have to do some more work.  The previously posted code
  1797. works well for most situations; however, it causes some annoying flashing
  1798. of areas that don't change as you move the mouse.  If you look at the
  1799. Finder (use Macsbug's SS 0), you'll notice it only redraws areas that need
  1800. to be redrawn.
  1801.  
  1802. If there's demand, I'll gladly post some code that does a Finder style
  1803. rubber band selection.
  1804.  
  1805. -- 
  1806. Jordan Zimmerman, Altura Software
  1807. home page: http://www.altura.com/jordanz/home.html
  1808. Who is John Galt?
  1809.  
  1810. +++++++++++++++++++++++++++
  1811.  
  1812. >From jordanz@altura.com (Jordan Zimmerman)
  1813. Date: 11 Jul 1995 23:14:12 GMT
  1814. Organization: Altura Software, Inc.
  1815.  
  1816. > > If there's demand, I'll gladly post some code that does a Finder style
  1817. > > rubber band selection.
  1818. > > 
  1819. > Post it! Post it! (or atleast e-mail me a copy :-) )
  1820.  
  1821. It's posted to AOL, alt.sources.mac, and InfoMac.  It's called Finder
  1822. Marquee Rects or something like that.
  1823.  
  1824. -- 
  1825. Jordan Zimmerman, Altura Software
  1826. home page: http://www.altura.com/jordanz/home.html
  1827. Who is John Galt?
  1828.  
  1829. ---------------------------
  1830.  
  1831. >From rmeadows@aol.com (Rmeadows)
  1832. Subject: How to use TSM floating windows?
  1833. Date: 7 Jul 1995 10:57:44 -0400
  1834. Organization: America Online, Inc. (1-800-827-6364)
  1835.  
  1836. I'm trying to use the Text Services Manager (TSM) to use floating windows
  1837. (as described in IM:Text 7-79).  My application has the TSM and HLE bits
  1838. set, and I call InitTSMAwareApplication().  The window comes up in the
  1839. floating layer, but that's the end of the expected "normal" behavior.  I
  1840. have to do a HiliteWindow() to get the drag region drawn correctly
  1841. (SelectWindow() doesn't do it);  I get no update events at all (or any
  1842. other events for that matter) destined for the floating window.
  1843.  
  1844. I'm using WaitNextEvent() in my event loop, and use FindServiceWindow() to
  1845. catch mouseDown events in the floater (and it works) but it's kind of hard
  1846. to tell where to click when the window never gets drawn ('cause no update
  1847. events ever got there).  (I'm running 7.5.1 on a PPC 6100.)
  1848.  
  1849. I want to use this floater as a tool palette, not as a text input method; 
  1850. so I pass "kCurrentProcess" as the "ts" parameter to NewServiceWindow() as
  1851. documented in IM.
  1852.  
  1853. Is there something that I'm missing here?  Is there something missing in
  1854. the IM documentation?
  1855.  
  1856. PLEASE PLEASE cc: a copy of your reply to "meadowsr@fgm.com", as I 
  1857. don't have a news feed, and have to check news via AOL.  THANKS!
  1858.  
  1859. Thanks in advance!
  1860. Randall Meadows
  1861. FGM, Inc.
  1862. meadowsr@fgm.com
  1863.  
  1864. +++++++++++++++++++++++++++
  1865.  
  1866. >From Matt Slot <fprefect@umich.edu>
  1867. Date: 8 Jul 1995 05:54:22 GMT
  1868. Organization: University of Michigan
  1869.  
  1870. Rmeadows, rmeadows@aol.com writes:
  1871.  > I'm trying to use the Text Services Manager (TSM) to use floating windows
  1872.  > (as described in IM:Text 7-79).  My application has the TSM and HLE bits
  1873.  > set, and I call InitTSMAwareApplication().  The window comes up in the
  1874.  > floating layer, but that's the end of the expected "normal" behavior.  I
  1875.  > have to do a HiliteWindow() to get the drag region drawn correctly
  1876.  > (SelectWindow() doesn't do it);  I get no update events at all (or any
  1877.  > other events for that matter) destined for the floating window.
  1878.  > ...
  1879.  > Is there something that I'm missing here?  Is there something missing in
  1880.  > the IM documentation?
  1881.  
  1882. The IM documentation neglects to tell you how to get events, such as
  1883. clicks, keydowns, and updates for the TSM window. This is the *perfect*
  1884. opportunity for me to point out my "Appe Windows" source... a demo program
  1885. that creates and manages a TSM Floater.
  1886.  
  1887. To get the source, you can FTP it from Mac-Archives or Sumex mirrors...
  1888. or send me Email at fprefect@umich.edu
  1889.  
  1890. Matt
  1891.  
  1892. +++++++++++++++++++++++++++
  1893.  
  1894. >From Dirk.Dierckx@ping.be (Dirk Dierckx)
  1895. Date: Sat, 08 Jul 1995 17:02:35 +0200
  1896. Organization: H20 Systems
  1897.  
  1898. In article <3tji18$nmp@newsbf02.news.aol.com>,
  1899. rmeadows@aol.com (Rmeadows) wrote:
  1900.  
  1901. >I'm using WaitNextEvent() in my event loop, and use FindServiceWindow() to
  1902. >catch mouseDown events in the floater (and it works) but it's kind of hard
  1903. >to tell where to click when the window never gets drawn ('cause no update
  1904. >events ever got there).  (I'm running 7.5.1 on a PPC 6100.)
  1905.  
  1906. You don't get update events for TSM windows.  The easiest way to check if a
  1907. floater needs an update is to check its updateRgn everytime you go through
  1908. your eventloop. 
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914. +++++++++++++++++++++++++++
  1915.  
  1916. >From rmeadows@aol.com (Rmeadows)
  1917. Date: 10 Jul 1995 10:02:33 -0400
  1918. Organization: America Online, Inc. (1-800-827-6364)
  1919.  
  1920. >You don't get update events for TSM windows.  The easiest way to check 
  1921. >if a floater needs an update is to check its updateRgn everytime you go 
  1922. >through your eventloop. 
  1923.  
  1924. Is this documented anywhere (like in IM, or a tech note)?  Perhaps there's
  1925. more "tricks" I need to find out about this?
  1926.  
  1927. +++++++++++++++++++++++++++
  1928.  
  1929. >From Dirk.Dierckx@ping.be (Dirk Dierckx)
  1930. Date: Tue, 11 Jul 1995 18:49:41 +0200
  1931. Organization: H20 Systems
  1932.  
  1933. In article <3trbtp$p3c@newsbf02.news.aol.com>,
  1934. rmeadows@aol.com (Rmeadows) wrote:
  1935.  
  1936. >>You don't get update events for TSM windows.  The easiest way to check 
  1937. >>if a floater needs an update is to check its updateRgn everytime you go 
  1938. >>through your eventloop. 
  1939. >
  1940. >Is this documented anywhere (like in IM, or a tech note)?  Perhaps there's
  1941. >more "tricks" I need to find out about this?
  1942.  
  1943. I don't know if it's documented by Apple but it's fully explained in an
  1944. application named "AppeWin" or something like that.  As Matt Slot has
  1945. pointed out in his reply.  You can find it on Info-Mac somewhere in the
  1946. "dev" directory.  You'll also need the TSMFix INIT that comes with AppeWin
  1947. because there is a bug in the TSM that sometimes bypasses the jGNEFilters
  1948. when there is an event.  Resulting in lost clicks/keys.
  1949.  
  1950.  
  1951.  
  1952.  
  1953. ---------------------------
  1954.  
  1955. >From dwilliss@tnt (Dave Williss)
  1956. Subject: Standalone Code Resources
  1957. Date: 10 Jul 1995 14:14:49 GMT
  1958. Organization: MicroImages, Inc.
  1959.  
  1960. I'm having a problem creating a standalone code resource to be used
  1961. as part of an install script (Using the Install SDK).
  1962.  
  1963. My problem is global data.  I can't seem to figure out how to set
  1964. it up.  There is some confusion as to whether I should be trying to
  1965. set A4 or setup an "A5 World".  
  1966.  
  1967. I found reference to a Technote #256 that should tell about setting
  1968. up an A5 world, but on the Developer CD I have, the technotes are
  1969. not numbered that way.  
  1970.  
  1971. I have followed what instructions I have found for setting up an A5
  1972. world, but now when I link (MPW linker), I get an error that says
  1973.  
  1974.         "Data to Code reference not supported (No Jump Table)"
  1975.  
  1976. or something like that.  Any idea what this means and how to solve it?
  1977. I've tracked it down to trying to preinitialize a global structure 
  1978. with pointers to functions.  I tried temporarly not initializing the
  1979. structure and the link error just moved from my module to Runtime.o.
  1980.  
  1981. I assume there is just something I have to call when setting up my 
  1982. A5 world which will resolve these things, but I don't know what.
  1983.  
  1984. --
  1985. David C. Williss                            #include <standard.disclaimer>
  1986. Software Engineer -- MicroImages, Inc.          dwilliss@microimages.com
  1987. WWW: http://tnt.microimages.com/~dwilliss       dwilliss@csealumni.unl.edu
  1988. -- PGP Public Key available via finger from: dwilliss@csealumni.unl.edu --
  1989.  
  1990. +++++++++++++++++++++++++++
  1991.  
  1992. >From pandhphot@aol.com (PandH Phot)
  1993. Date: 10 Jul 1995 17:33:39 -0400
  1994. Organization: America Online, Inc. (1-800-827-6364)
  1995.  
  1996. Assuming you're using TC or CW, both provide macros for setting up and
  1997. breaking down *A4*, which will stand in for A5 in your Code Resource.
  1998. Basically, you just bracket any routine which acts as an entry point in
  1999. the code with the following (assuming CW is your environment):
  2000.  
  2001. At the start of the routine
  2002. long oldA4;
  2003. oldA4 = SetCurrentA4();
  2004.  
  2005. At the end of the routine
  2006. (void)SetA4(oldA4);
  2007.  
  2008. These are functionally equivalent to the Toolbox's A5 routines of the same
  2009. name, but act on A4 instead.
  2010.  
  2011. Happy coding!
  2012. Paul
  2013.  
  2014. ---------------------------
  2015.  
  2016. >From apm3g@darwin.clas.Virginia.EDU (andrew meggs)
  2017. Subject: Which sndCommands are safe at interrupt time?
  2018. Date: Sat, 24 Jun 1995 20:54:13 GMT
  2019. Organization: University of Virginia
  2020.  
  2021.  
  2022. My life would be much happier if I could call SndDoCommand from
  2023. a Sound callback to tell a sound channel what to do next. The problem
  2024. is, IM-Sound offers the incredibly useless advice that "MOST of
  2025. the available sound commands do not cause SndDoCommand to move
  2026. memory and can therefore be issued at interrupt time."
  2027.  
  2028. I have a deep suspicion that bufferCmd might not fall under the
  2029. category of "most", since they talk about using soundCmd before
  2030. interrupt time to preconfigure the channel. Can anyone confirm or
  2031. deny this?
  2032.  
  2033. I also want to use waitCmd and callbackCmd, but I'm less concerned
  2034. about those than I am about bufferCmd.
  2035.  
  2036. --
  2037. andrew meggs
  2038. meggs@virginia.edu
  2039.  
  2040. +++++++++++++++++++++++++++
  2041.  
  2042. >From rjacks@austlcm.sps.mot.com (rodney jacks/vlk9)
  2043. Date: Mon, 26 Jun 1995 15:43:42 GMT
  2044. Organization: Motorola Inc., Austin, Texas
  2045.  
  2046. In article <DAp3ED.H2z@murdoch.acc.virginia.edu>,
  2047. andrew meggs <apm3g@darwin.clas.Virginia.EDU> wrote:
  2048. >
  2049. >My life would be much happier if I could call SndDoCommand from
  2050. >a Sound callback to tell a sound channel what to do next. The problem
  2051. >is, IM-Sound offers the incredibly useless advice that "MOST of
  2052. >the available sound commands do not cause SndDoCommand to move
  2053. >memory and can therefore be issued at interrupt time."
  2054. >
  2055. >I have a deep suspicion that bufferCmd might not fall under the
  2056. >category of "most", since they talk about using soundCmd before
  2057. >interrupt time to preconfigure the channel. Can anyone confirm or
  2058. >deny this?
  2059. >
  2060. >I also want to use waitCmd and callbackCmd, but I'm less concerned
  2061. >about those than I am about bufferCmd.
  2062.  
  2063. My game, Jewelbox issues bufferCmds during a sound callback proc.
  2064. It's been out now for 3+ years and no one has ever reported a
  2065. problem with the game playing background music.  It even works
  2066. on the latest PowerMac's and Mac Application Environment (MAE).
  2067.  
  2068. Cheers,
  2069. Rodney
  2070. -- 
  2071. Rodney (rjacks@austlcm.sps.mot.com)
  2072.  
  2073. +++++++++++++++++++++++++++
  2074.  
  2075. >From h+@metrowerks.com (Jon W{tte)
  2076. Date: Mon, 26 Jun 1995 19:01:18 -0500
  2077. Organization: Random
  2078.  
  2079.  
  2080. In article <DAp3ED.H2z@murdoch.acc.Virginia.EDU>,
  2081. apm3g@darwin.clas.Virginia.EDU (andrew meggs) wrote:
  2082.  
  2083. > I have a deep suspicion that bufferCmd might not fall under the
  2084. > category of "most", since they talk about using soundCmd before
  2085. > interrupt time to preconfigure the channel. Can anyone confirm or
  2086. > deny this?
  2087.  
  2088. A bufferCmd to play a buffer in a channel whose callback you're servicing
  2089. is always guaranteed to work. In fact; that's how QuickTime does it. I have
  2090. this directly from Jim Reeks, who wrote the Sound Manager, and he should
  2091. know :-)
  2092.  
  2093. Cheers,
  2094.  
  2095.                                 / h+
  2096.  
  2097.  
  2098. --
  2099.  Jon Wdtte (h+@metrowerks.com), 11266 Taylor Draper Ln #2517, Austin
  2100.  Mac 1.1b9 pre-release         2/29/95 all critical bugs fixed
  2101.  Pre-release reports due       3/1/95
  2102.              -- Quote from unnamed product status report
  2103.  
  2104.  
  2105. +++++++++++++++++++++++++++
  2106.  
  2107. >From sistest@ictp.trieste.it (Daniele Terdina)
  2108. Date: 28 Jun 1995 18:44:16 GMT
  2109. Organization: ICTP-Trieste-Italy
  2110.  
  2111. In article <DAp3ED.H2z@murdoch.acc.Virginia.EDU>,
  2112. apm3g@darwin.clas.Virginia.EDU (andrew meggs) wrote:
  2113.  
  2114. > My life would be much happier if I could call SndDoCommand from
  2115. > a Sound callback to tell a sound channel what to do next. The problem
  2116. > is, IM-Sound offers the incredibly useless advice that "MOST of
  2117. > the available sound commands do not cause SndDoCommand to move
  2118. > memory and can therefore be issued at interrupt time."
  2119. > I have a deep suspicion that bufferCmd might not fall under the
  2120. > category of "most", since they talk about using soundCmd before
  2121. > interrupt time to preconfigure the channel. Can anyone confirm or
  2122. > deny this?
  2123.  
  2124. I don't know if it can be done (officially), however I use bufferCmd in
  2125. the sound callback routine and I've never had any problems.
  2126.  
  2127. -- 
  2128. Daniele Terdina                   e-mail: sistest@ictp.trieste.it
  2129.  
  2130. +++++++++++++++++++++++++++
  2131.  
  2132. >From jim_reekes@quickmail.apple.com (Jim Reekes)
  2133. Date: Thu, 06 Jul 1995 12:48:51 -0700
  2134. Organization: Apple Computer, Inc.
  2135.  
  2136. In article <sistest-2806952045590001@mac-44.ictp.trieste.it>,
  2137. sistest@ictp.trieste.it (Daniele Terdina) wrote:
  2138.  
  2139. > In article <DAp3ED.H2z@murdoch.acc.Virginia.EDU>,
  2140. > apm3g@darwin.clas.Virginia.EDU (andrew meggs) wrote:
  2141. > > My life would be much happier if I could call SndDoCommand from
  2142. > > a Sound callback to tell a sound channel what to do next. The problem
  2143. > > is, IM-Sound offers the incredibly useless advice that "MOST of
  2144. > > the available sound commands do not cause SndDoCommand to move
  2145. > > memory and can therefore be issued at interrupt time."
  2146. > > 
  2147. > > I have a deep suspicion that bufferCmd might not fall under the
  2148. > > category of "most", since they talk about using soundCmd before
  2149. > > interrupt time to preconfigure the channel. Can anyone confirm or
  2150. > > deny this?
  2151. > I don't know if it can be done (officially), however I use bufferCmd in
  2152. > the sound callback routine and I've never had any problems.
  2153.  
  2154. You can use the bufferCmd (which is the same as soundCmd) as long as you
  2155. do not change the format of the sound being played. For example, you are
  2156. playing a non-compressed sound. During the CallBackProc() you cannot then
  2157. play a compressed sound because it would attempt to load a decompressor
  2158. into memory. This is also true when switching between 8 and 16 bit data.
  2159.  
  2160. -- 
  2161. Jim Reekes, Polterzeitgeist |       QuickTime Products R&D
  2162.                             |        Sound Manager Expert
  2163. Apple Computer, Inc.        | "All opinions expressed are mine, and
  2164. 2 Infinite Loop  MS 302-3KS |  do not necessarily represent those
  2165. Cupertino, CA 95014         |  of my employer, Apple Computer Inc."
  2166.  
  2167. ---------------------------
  2168.  
  2169. >From alain@cs.uchicago.edu (Alain Roy)
  2170. Subject: Why fuss over OpenDoc?
  2171. Date: Sun, 25 Jun 1995 17:56:23 GMT
  2172. Organization: None
  2173.  
  2174. Recently, while on vacataion, I had time to do some catch up reading. I
  2175. read a little about OpenDoc. 
  2176.  
  2177. I can understand why OpenDoc is cool--for people that wish to create
  2178. compound documents. It seems like a neat concept.
  2179.  
  2180. However, I'm a programmer and a student. I rarely create compound
  2181. documents. Once in a while, I'll write a paper with a single graphic in
  2182. it, for which MS Word's graphic tool is sufficent. On the other hand, I
  2183. edit a program's source files. I post occaisonally to the net. I write
  2184. some email. None of these things seems to me to benefit from having the
  2185. ability to edit compound documents.
  2186.  
  2187. People seem to be getting very excited about OpenDoc. Could someone
  2188. explain to a person like me (who doesn't create complicated documents with
  2189. charts and pictures) what there is to get excited about OpenDoc? I have a
  2190. feeling that there is something, but I'm not sure what.
  2191.  
  2192. This isn't a flame against OpenDoc at all. I just want to understand the fuss.
  2193.  
  2194. -alain
  2195.  
  2196. +++++++++++++++++++++++++++
  2197.  
  2198. >From jim@melongem.com (Jim Lloyd)
  2199. Date: Sun, 25 Jun 1995 12:49:53 -0700
  2200. Organization: MelonGem Productions
  2201.  
  2202. In article <alain-2506951256230001@hammer.cs.uchicago.edu>,
  2203. alain@cs.uchicago.edu (Alain Roy) wrote:
  2204.  
  2205. >Recently, while on vacataion, I had time to do some catch up reading. I
  2206. >read a little about OpenDoc. 
  2207. >
  2208. >I can understand why OpenDoc is cool--for people that wish to create
  2209. >compound documents. It seems like a neat concept.
  2210. >
  2211. >However, I'm a programmer and a student. I rarely create compound
  2212. >documents. Once in a while, I'll write a paper with a single graphic in
  2213. >it, for which MS Word's graphic tool is sufficent. On the other hand, I
  2214. >edit a program's source files. I post occaisonally to the net. I write
  2215. >some email. None of these things seems to me to benefit from having the
  2216. >ability to edit compound documents.
  2217. >
  2218. >People seem to be getting very excited about OpenDoc. Could someone
  2219. >explain to a person like me (who doesn't create complicated documents with
  2220. >charts and pictures) what there is to get excited about OpenDoc? I have a
  2221. >feeling that there is something, but I'm not sure what.
  2222. >
  2223. >This isn't a flame against OpenDoc at all. I just want to understand the fuss.
  2224.  
  2225. There are (at least) two possible directions for answers to take:
  2226.  
  2227. 1) You don't use compound documents very much right now because it's too
  2228. difficult to do so.  If it was made simple and natural, you'd find
  2229. yourself using compound documents much more often.
  2230.  
  2231. 2) Thinking of OpenDoc as exclusively a compound document architecture is
  2232. a mistake.  OpenDoc provides a mechanism for creating custom applications
  2233. from off-the-shelf components.  Think of OpenDoc as a more of a Hypercard
  2234. or Visual Basic done right.  Even this viewpoint is somewhat limiting, I
  2235. expect, but it's in the right direction.
  2236.  
  2237. OpenDoc is a paradigm shift.  It takes a while to fully appreciate what it
  2238. can do. I don't claim I've finished making the shift myself, but I've gone
  2239. far enough that I can see that many applications that originally didn't
  2240. seem appropriate for OpenDoc actually are well-suited when looked at from
  2241. the right angle.
  2242.  
  2243. Let me provide just one example.  To me, the term "compound document"
  2244. somehow makes me want to think of the final printed output.  Compound
  2245. documents are created, and then distributed in some static form, most
  2246. likely on paper.  Perhaps I'm the only person who reads this connotation
  2247. into the term "compound document", but I expect the opposite is true: most
  2248. people think of compound documents as being relatively static entities.
  2249.  
  2250. OpenDoc documents are living documents.  Each component in the document
  2251. can be interactive, not just for the creator of the document, but for all
  2252. recipients of the document as well.
  2253.  
  2254. Here's an idea for a suite of OpenDoc components (parts) that I'm starting
  2255. to work on.  I don't mind giving away this idea, since I expect I may
  2256. never have time to do it right (but I would appreciate it if anyone who
  2257. tries to do this would notify me).  The idea is inspired by the book
  2258. "Design Patterns, Elements of Reusable Object-Oriented Software", by E.
  2259. Gamma, R. Helm, R. Johnson, and J. Vlissides (highly recommended!).
  2260.  
  2261. In this book, a couple dozen "design patterns" are documented in a
  2262. consistent manner.  A chapter is devoted to each pattern.  Each chapter is
  2263. structured the same way, with a standard layout of sections, diagrams,
  2264. etc.  The layout for describing design patterns has been adopted by a
  2265. growing community of computer scientists and engineers for cataloging
  2266. design patterns.
  2267.  
  2268. My idea is to create three component editors for each of the three diagram
  2269. notations that occur in the book (Class Diagram Notation, Object Diagram
  2270. Notation, and Interaction Diagram Notation).  A fourth component editor is
  2271. required: a styled text editor that supports embedding, though I assume I
  2272. won't need to create this component editor, somebody else will do that for
  2273. me, allowing me to focus on the diagram editors.
  2274.  
  2275. Now, if I simply created each of the three diagram editors, anyone who
  2276. wanted to document a new design pattern could simply open a stationery
  2277. document that I would provide, and start documenting.  This would be
  2278. useful by itself.  However, this results in a static compound document. 
  2279. The pattern documentor creates a document, and then distributes it. 
  2280. Recipients of the document might as well just recieve a printed copy,
  2281. since the only thing they might do with the document is correct typos, add
  2282. notes, etc.
  2283.  
  2284. However, suppose each of the diagram editors could use the Open Scripting
  2285. Architecture (OSA) to communicate with an application (or OpenDoc
  2286. component) like Object Master.  If a design pattern document were shipped
  2287. with the Object Master project for the sample code shown in the pattern,
  2288. then recipients of the pattern document could use it as a browser to
  2289. further explore the sample code.
  2290.  
  2291. I am currently working on the OpenDoc Development Framework (ODF), a
  2292. cross-platform C++ framework for OpenDoc.  There are numerous design
  2293. patterns that occur in ODF.  It would be really cool if each one was
  2294. documented in the style described by the book Design Patterns.  If each
  2295. pattern was included in our printed documentation, it would be a valuable
  2296. addition to our documentation suite.  But if each pattern document was
  2297. shipped on the CD along with Object Master projects for all of ODF, it
  2298. would provide an ideal way to explore and learn ODF.
  2299.  
  2300. - ---------------------------------------------------------------------
  2301. Jim Lloyd                                              jim@melongem.com
  2302. Software Consultant                                     v. 415-964-8500
  2303. MelonGem Productions                                    f. 415-964-6888
  2304.                  "At our convenience, at your expense."
  2305.  
  2306. +++++++++++++++++++++++++++
  2307.  
  2308. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  2309. Date: Sun, 25 Jun 1995 16:47:48 -0800
  2310. Organization: In Phase Consulting
  2311.  
  2312. alain@cs.uchicago.edu (Alain Roy) wrote:
  2313.  
  2314. > This isn't a flame against OpenDoc at all. I just want to understand the fuss.
  2315.  
  2316. OpenDoc's purpose is to allow the editing of compound documents.
  2317. That's it.
  2318.  
  2319. The point about OpenDoc is that it is a new programming and user
  2320. interface paradigm which is ideally suited to the editing of
  2321. documents.
  2322.  
  2323. OpenDoc does not address task-oriented issues (such as reading your
  2324. on-line mail--though I suppose someone will create a mailer OpenDoc
  2325. part), nor does it address 'filter' tasks (tasks which involve the
  2326. conversion of input data--say some C source--to output data--say, an
  2327. executable program). However, OpenDoc does not make any effort
  2328. to address these issues; for such things Apple has in mind preserving
  2329. the windowing paradigm. (Though the possibility exists that if
  2330. OpenDoc catches on big time, a lot of pressure will exist to
  2331. convert even task-oriented programs into OpenDoc parts.)
  2332.  
  2333. Personally I don't think OpenDoc is going to catch on in the
  2334. way that Apple hopes. Apple has in mind that OpenDoc is the
  2335. technological "Microsoft Killer"--that is, they have in mind that
  2336. a hundred little developers developing a hundred little parts
  2337. will pick Microsoft's monolithic monopoly on office software
  2338. (Microsoft Word, Excel, and other packages) to pieces.
  2339.  
  2340. Frankly, I don't think that is going to happen. Why? Three reasons.
  2341. First, people buy *solutions*, not individual software packages.
  2342. And they like to buy all the solutions pre-bundled in one place.
  2343. (If that weren't the case, why then is Microsoft Office such
  2344. a success?) The idea that a hundred little developers will pick
  2345. Microsoft's market apart is absurd--people for the most part are
  2346. not going to go out and buy a container part here, a graph
  2347. part there, a spread sheet calculator engine over yonder. They
  2348. are going to buy a single solution--a single package, maintained
  2349. by a single developer house, in a single box. So OpenDoc may serve 
  2350. as the API gluing Microsoft Office v6 together; so what?
  2351.  
  2352. Second, the economic reality of the software market dictates that
  2353. only a Microsoft is going to command the resources to advertise,
  2354. get shelf space, and provide a distribution channel to sell a lot
  2355. of software. That's why Microsoft is so successful--because Bill
  2356. Gates has put a lot of time, money, and effort into building
  2357. the resources necessary for the advertisements, shelf space, and
  2358. distribution channels.
  2359.  
  2360. So Microsoft will subcontract even more of it's development
  2361. efforts out--so what? Yeah, there are going to be a hundred little
  2362. independant contractors building a hundred little OpenDoc parts;
  2363. they all will just subcontract for Microsoft. And Novell. And
  2364. Apple.
  2365.  
  2366. In fact, the economic reality dictates that as more and more
  2367. pressure is put on the software development fields by accelerated
  2368. technological advances, and by the drive to get even more software
  2369. for less money will force large companies like Microsoft,
  2370. Apple, Novel and the rest to subcontract more and more of their
  2371. work out to independant developers. OpenDoc will help accelerate
  2372. this process by providing a unified API for developing the
  2373. components of the software.
  2374.  
  2375. But the software on the shelf is still going to have "Microsoft"
  2376. written all over it.
  2377.  
  2378. The third reason why I don't think OpenDoc is going to catch
  2379. on is that the market it addresses is so dominated by the
  2380. Microsofts of the world that independant developers are not going
  2381. to risk losing their shirt in that field, anyways.
  2382.  
  2383. Look at me--I do games. I have done a CAD-style editor, but for
  2384. the acoustical market. I make my living working for the vertical
  2385. markets too small for the Microsofts of the world to make a go
  2386. at. Granted, my CAD editor engine is as fine as I have seen
  2387. in any commercial CAD package, there is no way in hell I'm going
  2388. to pitch the engine up against AutoDesk's AutoCAD. Not because
  2389. I couldn't compete technically; I just couldn't compete market-wise.
  2390.  
  2391. Do you think I'm going to risk a pretty good living trying to
  2392. take on Microsoft? Get real. If Microsoft approaches me and says
  2393. "Bill, we need you to develop a new graphing widget for OpenDoc
  2394. for the Macintosh and for Windows which can draw cool 3D
  2395. bar graphs and allow you to fly through them", then yes, I'll
  2396. produce the tool. And I'll produce a damned fine tool, and
  2397. I'll be happy when I know that my fine tool appeared in Microsoft's
  2398. Office product.
  2399.  
  2400. But do you think I'm going to develop the tool on my own and try
  2401. to sell it in today's market (with the big players hiring
  2402. BBD&O to do their television ads)? Are you crazy?
  2403.  
  2404. I *like* putting food on my table.
  2405.  
  2406.  
  2407. The upshot of this is that OpenDoc, while a wonderful new programming
  2408. and user interface paradigm, probably won't affect many of us
  2409. on the net. Unless we really do put together complex, compound
  2410. documents for a living.
  2411.  
  2412.                                                 - Bill
  2413.  
  2414. I'm really not this pessimistic, really I'm not! I'm actually a
  2415. pretty nice person once you get to know me.
  2416.  
  2417. -- 
  2418. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  2419. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  2420. 337 W. California #4  |  Fax:    (818) 502-1467
  2421. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  2422.  
  2423. +++++++++++++++++++++++++++
  2424.  
  2425. >From nagle@netcom.com (John Nagle)
  2426. Date: Mon, 26 Jun 1995 03:15:46 GMT
  2427. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  2428.  
  2429. woody@alumni.cco.caltech.edu (William Edward Woody) writes:
  2430. >alain@cs.uchicago.edu (Alain Roy) wrote:
  2431. >> This isn't a flame against OpenDoc at all. I just want to understand the fuss.
  2432.  
  2433. >OpenDoc's purpose is to allow the editing of compound documents.
  2434. >That's it.
  2435. ...
  2436. >Personally I don't think OpenDoc is going to catch on in the
  2437. >way that Apple hopes. ...
  2438.  
  2439. >Frankly, I don't think that is going to happen. ...
  2440.  
  2441.      There's an active market in Visual Basic buttons (now called
  2442. OLE Controls).  That, in fact, is the only software "parts" area that
  2443. has developed into a real market.  OpenDoc is supposed to create
  2444. a comparable market in the Mac world.
  2445.  
  2446.      Unfortunately for Apple, the reason there's a market for OLE Controls
  2447. is because people use them to build business applications.  These aren't
  2448. typically oriented towards compound documents; they're usually application
  2449. specific front ends to databases accessed via SQL or a similar mechanism.
  2450. (After all, the primary visual object in the Visual Basic world is the
  2451. "form").  So the additional power of OpenDoc over OLE may not be that valuable.
  2452. Macs aren't a major platform for semi-custom business applications anyway.
  2453.  
  2454.     Remember Publish and Subscribe?  We have limited compound document 
  2455. capability now, and nobody uses it.  Nor has there been any visible 
  2456. demand for extensions to it from the user community.
  2457.  
  2458.     As a final nail in the coffin, the usual suggestion for "compound
  2459. documents" involves tying together spreadsheets and word processor documents.
  2460. And who makes the leading spreadsheet and the leading word processor for
  2461. the Mac?  Microsoft.  Are they going to support OpenDoc?  No.
  2462.      
  2463.                                         John Nagle
  2464.  
  2465. +++++++++++++++++++++++++++
  2466.  
  2467. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  2468. Date: Mon, 26 Jun 1995 15:12:04 GMT
  2469. Organization: BSD -- Academic Computing
  2470.  
  2471. In article <alain-2506951256230001@hammer.cs.uchicago.edu>,
  2472. alain@cs.uchicago.edu (Alain Roy) wrote:
  2473.  
  2474. > Recently, while on vacataion, I had time to do some catch up reading. I
  2475. > read a little about OpenDoc. 
  2476. > I can understand why OpenDoc is cool--for people that wish to create
  2477. > compound documents. It seems like a neat concept.
  2478. > However, I'm a programmer and a student. I rarely create compound
  2479. > documents. Once in a while, I'll write a paper with a single graphic in
  2480. > it, for which MS Word's graphic tool is sufficent. On the other hand, I
  2481. > edit a program's source files. I post occaisonally to the net. I write
  2482. > some email. None of these things seems to me to benefit from having the
  2483. > ability to edit compound documents.
  2484.  
  2485. Say you are a student in biology. And you are writing a paper on say,
  2486. protien folding. And your have a neat OpenDoc Part that does molecular
  2487. graphics. You can include, instead of a series of pictures in your paper,
  2488. a molecular graphic, that can be manipulated in real time. And if DSOM
  2489. ever comes around you could do real time dynamics on Cray, or some other
  2490. big time iron machine so that your reader can read you paper and your
  2491. simulation will be tightly coupled with the words. The idea of to allow
  2492. for new modes of combing data.
  2493.  
  2494. > People seem to be getting very excited about OpenDoc. Could someone
  2495. > explain to a person like me (who doesn't create complicated documents with
  2496. > charts and pictures) what there is to get excited about OpenDoc? I have a
  2497. > feeling that there is something, but I'm not sure what.
  2498.  
  2499. You are allowing yourself to be confined by what can be done today.
  2500. Personally I can think of hundreds of uses of this. By combining things
  2501. that don't normally go together.
  2502.  
  2503. Jer,
  2504.  
  2505. -- 
  2506. Jerome Jahnke
  2507. BSD Academic Computing
  2508. University of Chicago
  2509. j-jahnke@uchicago.edu
  2510.  
  2511. +++++++++++++++++++++++++++
  2512.  
  2513. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  2514. Date: Mon, 26 Jun 1995 15:25:37 GMT
  2515. Organization: BSD -- Academic Computing
  2516.  
  2517. In article <woody-2506951647480001@192.0.2.1>,
  2518. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  2519.  
  2520. > alain@cs.uchicago.edu (Alain Roy) wrote:
  2521. > > This isn't a flame against OpenDoc at all. I just want to understand
  2522. the fuss.
  2523. [ stuff deleted ]
  2524. > The upshot of this is that OpenDoc, while a wonderful new programming
  2525. > and user interface paradigm, probably won't affect many of us
  2526. > on the net. Unless we really do put together complex, compound
  2527. > documents for a living.
  2528.  
  2529. You are missing the point. While OpenDoc is NOT the silver bullet the
  2530. ideas that folks will come up with for parts WILL be. Wether or not it
  2531. will actually be a Microsoft killer remains to be seen. We are currently
  2532. limited by our vision, but it has never been the OS that has sold
  2533. computers (despite what Apple and Microsoft say). It has always been
  2534. applications. Granted the OS is what makes the apps cool. OpenDoc has a
  2535. great deal of potential, but it is also a move away from the target of our
  2536. documents ending up on paper. There are lots of smart folks out there who
  2537. have an idea of what OpenDoc can do, and I am sure in a few years folks
  2538. will wonder how we lived without it (as we do with Windowed Event Driven
  2539. OS's now.)
  2540.  
  2541. Jer,
  2542.  
  2543. -- 
  2544. Jerome Jahnke
  2545. BSD Academic Computing
  2546. University of Chicago
  2547. j-jahnke@uchicago.edu
  2548.  
  2549. +++++++++++++++++++++++++++
  2550.  
  2551. >From jim@melongem.com (Jim Lloyd)
  2552. Date: Mon, 26 Jun 1995 09:13:52 -0700
  2553. Organization: MelonGem Productions
  2554.  
  2555. In article <woody-2506951647480001@192.0.2.1>,
  2556. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  2557.  
  2558. >alain@cs.uchicago.edu (Alain Roy) wrote:
  2559. >
  2560. >> This isn't a flame against OpenDoc at all. I just want to understand
  2561. the fuss.
  2562. >
  2563. >OpenDoc's purpose is to allow the editing of compound documents.
  2564. >That's it.
  2565.  
  2566. No, that's not it.  It's a common misconception, but compound documents
  2567. are only part of the picture, the part easiest to describe and latch onto.
  2568.  
  2569. >The point about OpenDoc is that it is a new programming and user
  2570. >interface paradigm which is ideally suited to the editing of
  2571. >documents.
  2572.  
  2573. OpenDoc provides a mechanism for presenting a componentized
  2574. user-interface.  The interface may have state that is stored in a
  2575. "document".  This will result in "compound documents", but it will also
  2576. result in other kinds of applications.
  2577.  
  2578. >OpenDoc does not address task-oriented issues (such as reading your
  2579. >on-line mail--though I suppose someone will create a mailer OpenDoc
  2580. >part), nor does it address 'filter' tasks (tasks which involve the
  2581. >conversion of input data--say some C source--to output data--say, an
  2582. >executable program). However, OpenDoc does not make any effort
  2583. >to address these issues; for such things Apple has in mind preserving
  2584. >the windowing paradigm.
  2585.  
  2586. OpenDoc itself may not address some of these issues, but it does not
  2587. preclude them.  The same can be said for the "windowing paradigm". 
  2588. Apple's "windowing paradigm" does not addressing filtering, does it?
  2589.  
  2590. >Personally I don't think OpenDoc is going to catch on in the
  2591. >way that Apple hopes. Apple has in mind that OpenDoc is the
  2592. >technological "Microsoft Killer"--that is, they have in mind that
  2593. >a hundred little developers developing a hundred little parts
  2594. >will pick Microsoft's monolithic monopoly on office software
  2595. >(Microsoft Word, Excel, and other packages) to pieces.
  2596.  
  2597. I don't know where you got this picture.  Is there some marketing material
  2598. from Apple that led you to believe this?  It doesn't match my picture of
  2599. what Apple is trying to do at all.
  2600.  
  2601. >Frankly, I don't think that is going to happen. Why? Three reasons.
  2602. >First, people buy *solutions*, not individual software packages.
  2603.  
  2604. Software integrators will be able to take a set of part editors, package
  2605. them together as some stationery, applescripts, etc., and package them
  2606. into a solution, addessed to vertical markets.  Horizontal markets will be
  2607. addressed by developers who develop well-crafted parts for common tasks
  2608. like word processing, graphics, and (surprise!) CAD.
  2609.  
  2610. >Second, the economic reality of the software market dictates that
  2611. >only a Microsoft is going to command the resources to advertise,
  2612. >get shelf space, and provide a distribution channel to sell a lot
  2613. >of software. That's why Microsoft is so successful--because Bill
  2614. >Gates has put a lot of time, money, and effort into building
  2615. >the resources necessary for the advertisements, shelf space, and
  2616. >distribution channels.
  2617.  
  2618. Man, is this a pessimistic point of view!  How long were you in traction
  2619. when the Microsoft steam roller crushed all of the bones in your body?
  2620.  
  2621. Last time I walked into any software store, or flipped through any
  2622. software catalog, Microsoft products were certainly prominent, but they
  2623. had a small percentage of total shelf space or catalog pages.
  2624.  
  2625. >In fact, the economic reality dictates that as more and more
  2626. >pressure is put on the software development fields by accelerated
  2627. >technological advances, and by the drive to get even more software
  2628. >for less money will force large companies like Microsoft,
  2629. >Apple, Novel and the rest to subcontract more and more of their
  2630. >work out to independant developers. OpenDoc will help accelerate
  2631. >this process by providing a unified API for developing the
  2632. >components of the software.
  2633.  
  2634. Aha! I see a ray of hope!
  2635.  
  2636. >But the software on the shelf is still going to have "Microsoft"
  2637. >written all over it.
  2638.  
  2639. Whoops! How long did you say you were in traction?
  2640.  
  2641. >The third reason why I don't think OpenDoc is going to catch
  2642. >on is that the market it addresses is so dominated by the
  2643. >Microsofts of the world that independant developers are not going
  2644. >to risk losing their shirt in that field, anyways.
  2645. >
  2646. >Look at me--I do games. I have done a CAD-style editor, but for
  2647. >the acoustical market. I make my living working for the vertical
  2648. >markets too small for the Microsofts of the world to make a go
  2649. >at. Granted, my CAD editor engine is as fine as I have seen
  2650. >in any commercial CAD package, there is no way in hell I'm going
  2651. >to pitch the engine up against AutoDesk's AutoCAD. Not because
  2652. >I couldn't compete technically; I just couldn't compete market-wise.
  2653.  
  2654. Man, have you missed the boat! If I were you with a CAD editor that was
  2655. "as fine as any commercial CAD package", I'd be seriously looking to turn
  2656. it into a part editor.  Then, any software integrator who needs a CAD
  2657. element might turn to you for that portion of their package.  Here's your
  2658. chance to beat the big market players to a new market.  Sure, Apple or
  2659. Novell (or even Microsoft) might release *your* CAD editor with *their*
  2660. name on the box, but *your* name will still be in the about box, and *you*
  2661. will receive royalties from *their* sales and marketing efforts.  What's
  2662. wrong with that, Mr. Pessimisism?
  2663.  
  2664. >Do you think I'm going to risk a pretty good living trying to
  2665. >take on Microsoft? Get real. If Microsoft approaches me and says
  2666. >"Bill, we need you to develop a new graphing widget for OpenDoc
  2667. >for the Macintosh and for Windows which can draw cool 3D
  2668. >bar graphs and allow you to fly through them", then yes, I'll
  2669. >produce the tool. And I'll produce a damned fine tool, and
  2670. >I'll be happy when I know that my fine tool appeared in Microsoft's
  2671. >Office product.
  2672.  
  2673. Aha! I see the glass is only half empty after all.  Hey Bill, what's the
  2674. chance that Microsoft will ask you to develop a new widget for them, as
  2675. opposed to them asking you to use the widget you've already created? 
  2676. Multiply this now by a factor of one hundred or more to take into account
  2677. the the rest of the world that may have a need for your widget, but
  2678. doesn't have the time or resources to create it on their own.
  2679.  
  2680. >But do you think I'm going to develop the tool on my own and try
  2681. >to sell it in today's market (with the big players hiring
  2682. >BBD&O to do their television ads)? Are you crazy?
  2683.  
  2684. If you already have a CAD engine, converting it to OpenDoc is probably not
  2685. a major effort (take a look at the ODFDraw part example, included with the
  2686. OpenDoc Development Framework).  Then, all you have to do is take the
  2687. effort to appear in the part catalogs that will appear, and send a demo
  2688. version of your part editor to macgifts.  Then, with luck, one of the big
  2689. players will decide to use your part in one of their packages, and you'll
  2690. get a free ride from the BBD&O adds.
  2691.  
  2692. >I'm really not this pessimistic, really I'm not! I'm actually a
  2693. >pretty nice person once you get to know me.
  2694.  
  2695. Glad to hear it!
  2696.  
  2697. -Jim
  2698.  
  2699. - ---------------------------------------------------------------------
  2700. Jim Lloyd                                              jim@melongem.com
  2701. Software Consultant                                     v. 415-964-8500
  2702. MelonGem Productions                                    f. 415-964-6888
  2703.                  "At our convenience, at your expense."
  2704.  
  2705. +++++++++++++++++++++++++++
  2706.  
  2707. >From BrianS@pbcomputing.com (Brian Stern)
  2708. Date: 26 Jun 1995 16:07:57 GMT
  2709. Organization: The University of Texas at Austin, Austin, Texas
  2710.  
  2711. In article <alain-2506951256230001@hammer.cs.uchicago.edu>,
  2712. alain@cs.uchicago.edu (Alain Roy) wrote:
  2713.  
  2714. < Recently, while on vacataion, I had time to do some catch up reading. I
  2715. < read a little about OpenDoc. 
  2716. < I can understand why OpenDoc is cool--for people that wish to create
  2717. < compound documents. It seems like a neat concept.
  2718. < However, I'm a programmer and a student. I rarely create compound
  2719. < documents. Once in a while, I'll write a paper with a single graphic in
  2720. < it, for which MS Word's graphic tool is sufficent. On the other hand, I
  2721. < edit a program's source files. I post occaisonally to the net. I write
  2722. < some email. None of these things seems to me to benefit from having the
  2723. < ability to edit compound documents.
  2724. < People seem to be getting very excited about OpenDoc. Could someone
  2725. < explain to a person like me (who doesn't create complicated documents with
  2726. < charts and pictures) what there is to get excited about OpenDoc? I have a
  2727. < feeling that there is something, but I'm not sure what.
  2728. < This isn't a flame against OpenDoc at all. I just want to understand the fuss.
  2729. < -alain
  2730.  
  2731. Imagine being able to have a spell checker part and grammer checker part
  2732. that you can use easily in your newsreader and mailreader apps.  Sheesh,
  2733. just imagine only having to have one spell checker on your machine,
  2734. instead of the three or four many people now have on their machines.
  2735.  
  2736. I think that we may see control panel type parts.  Things that do
  2737. something that you might want to put together in a single container.  I
  2738. think that apple is working on network controls and internet parts that
  2739. you will be able to mix and match.
  2740.  
  2741. ____________________________________________________________________
  2742. Brian  Stern  {:-{)}                          BrianS@pbcomputing.com
  2743. Toolbox commando and Menu bard.             Will FlushCache for Cash
  2744.  
  2745. +++++++++++++++++++++++++++
  2746.  
  2747. >From alain@cs.uchicago.edu (Alain Roy)
  2748. Date: Mon, 26 Jun 1995 17:04:22 GMT
  2749. Organization: None
  2750.  
  2751. In article <BrianS-2606951105340001@slip-12-4.ots.utexas.edu>,
  2752. BrianS@pbcomputing.com (Brian Stern) wrote:
  2753.  
  2754. >Imagine being able to have a spell checker part and grammer checker part
  2755. >that you can use easily in your newsreader and mailreader apps.  Sheesh,
  2756. >just imagine only having to have one spell checker on your machine,
  2757. >instead of the three or four many people now have on their machines.
  2758.  
  2759. That sounds excellent to me.
  2760.  
  2761. I thought that Apple Events/Applescripting were supposed to provide that
  2762. already. Can you explain how OpenDoc makes it easier to add than just
  2763. sending an AppleEvent? I believe you, I'm just not sure why it's easier,
  2764. or people are more likely to use it.
  2765.  
  2766. -alain
  2767.  
  2768. +++++++++++++++++++++++++++
  2769.  
  2770. >From rshapiro@bbn.com (R Shapiro)
  2771. Date: Mon, 26 Jun 1995 13:26:44 -0400
  2772. Organization: Bolt Beranek & Newman
  2773.  
  2774. In article <jim-2606950913520001@melongem.vip.best.com>, jim@melongem.com
  2775. (Jim Lloyd) wrote:
  2776.  
  2777. >OpenDoc provides a mechanism for presenting a componentized
  2778. >user-interface.  The interface may have state that is stored in a
  2779. >"document".  This will result in "compound documents", but it will also
  2780. >result in other kinds of applications.
  2781.  
  2782.  
  2783. I'm assuming, since we're talking Apple vs MSoft here, that this will be
  2784. cleaner than Ole. Is it? How does it differ functionally?
  2785.  
  2786. -- 
  2787. rs/rshapiro@bbn.com
  2788.  
  2789. +++++++++++++++++++++++++++
  2790.  
  2791. >From Malcolm Pradhan <pradhan@camis.stanford.edu>
  2792. Date: 26 Jun 1995 18:08:53 GMT
  2793. Organization: Section on Medical Informatics, Stanford University
  2794.  
  2795. In article <alain-2506951256230001@hammer.cs.uchicago.edu> Alain Roy,
  2796. alain@cs.uchicago.edu writes:
  2797. > I can understand why OpenDoc is cool--for people that wish to create
  2798. > compound documents. It seems like a neat concept.
  2799.  
  2800. I must agree with Jim Lloyd's OpenDoc vision. When I first saw an
  2801. OpenDoc demo I yawned and thought "ClarisWorks already does this!" and
  2802. wandered off. A few weeks ago I sat through another demo (which was
  2803. mainly motivated by my interest in SOM), and I have completely turned
  2804. around on OpenDoc.
  2805.  
  2806. The demo began with the usual compound document stuff, and it was still
  2807. boring. The really interesting stuff came with the custom solution
  2808. demos, eg. linking a database part with a graph part, and some button
  2809. parts which sent queries to the database part. I suppose this is still
  2810. a compound document but not in the usual interpretation.
  2811.  
  2812. The thing that was really exciting was Claris' virtual controls (?).
  2813. Claris had removed the user interface from their "work" code, in this
  2814. case a drawing program. The user interface communicated to the drawing
  2815. program via a set of semantic events (same as an AppleScript suite), so
  2816. the user interface parts could be changed to create custom solutions.
  2817. First they slotted in a power user interface to their drawing part
  2818. (similar to ClarisDraw), then dragged another user interface part from
  2819. a palette to create a child's drawing package (including animated teddy
  2820. bears, crayons for choosing colors etc). Meanwhile, the underlying
  2821. drawing code remained the same.
  2822.  
  2823. Cyberdog was also an interesting demo, but I found the custom solution
  2824. stuff more useful than better ways to jump around the net. OpenDoc will
  2825. make any tool that allows embedding to be a kind of super Visual Basic.
  2826. If HyperCard is made into a container (which I understand it will), it
  2827. suddenly becomes an amazingly useful tool -- custom code can share the
  2828. screen, have globals, have persistent storage, and parts can be
  2829. scripted.
  2830.  
  2831. Regarding filters, parts can be faceless (although the standards for
  2832. this are still being sorted out). This means you could write a drag and
  2833. drop script that actives a suite of filter parts which don't have a
  2834. user interface. Even better, you could link together various filter
  2835. icons and save the document as a drag and drop filter. You have to
  2836. shift your view a bit.
  2837.  
  2838. I think OpenDoc is a great move by Apple, but it is up to them to get
  2839. some really cool demonstrations out to destroy the traditional compound 
  2840. document image that limits people's image of this technology.
  2841.  
  2842.  
  2843.  Regards,
  2844.  Malcolm
  2845.  
  2846. +++++++++++++++++++++++++++
  2847.  
  2848. >From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
  2849. Date: Tue, 27 Jun 1995 12:09:39 +1200 (NZDT)
  2850. Organization: (none)
  2851.  
  2852. nagle@netcom.com (John Nagle) writes:
  2853. >      Unfortunately for Apple, the reason there's a market for OLE Controls
  2854. > is because people use them to build business applications.  These aren't
  2855. > typically oriented towards compound documents; they're usually application
  2856. > specific front ends to databases accessed via SQL or a similar mechanism.
  2857. > (After all, the primary visual object in the Visual Basic world is the
  2858. > "form").  So the additional power of OpenDoc over OLE may not be that valuable.
  2859. > Macs aren't a major platform for semi-custom business applications anyway.
  2860.  
  2861. That's true now, although that's what I earn my living doing.
  2862.  
  2863. OpenDoc is not going to make the Mac any less attractive to that market
  2864. than it is now.  It could make it *much* more attractive.  I'm certainly
  2865. hoping to make money from OpenDoc.
  2866.  
  2867.  
  2868. >     Remember Publish and Subscribe?  We have limited compound document 
  2869. > capability now, and nobody uses it.  Nor has there been any visible 
  2870. > demand for extensions to it from the user community.
  2871.  
  2872. The stockbroking firm who's systems I manage uses P&S *extensively* to tie
  2873. together source data from spreadsheets to specialised analysis and graphing
  2874. and report programs (written by me) and then into page layout/word
  2875. processing software to tie it all togther for final printing.
  2876.  
  2877. The P&S implementations in Word and Excel suck in both time and space usage,
  2878. and lose links from time to time, but it enables things you couldn't
  2879. otherwise do.  (Well, maybe with AppleScript, but that's much newer and is
  2880. process-oriented rather than data oriented)
  2881.  
  2882.  
  2883. >     As a final nail in the coffin, the usual suggestion for "compound
  2884. > documents" involves tying together spreadsheets and word processor documents.
  2885. > And who makes the leading spreadsheet and the leading word processor for
  2886. > the Mac?  Microsoft.  Are they going to support OpenDoc?  No.
  2887.  
  2888. Well, a) OLE stuff can be used by OpenDoc, and b) maybe that's agood opportunity
  2889. for others to get another toehold for these things on the Mac...
  2890.  
  2891. -- Bruce
  2892.  
  2893. +++++++++++++++++++++++++++
  2894.  
  2895. >From english@primenet.com (Lawson English)
  2896. Date: 26 Jun 1995 20:27:26 GMT
  2897. Organization: Primenet (602)395-1010
  2898.  
  2899. Jerome Jahnke (j-jahnke@uchicago.edu) wrote:
  2900. [snipt]
  2901. : Say you are a student in biology. And you are writing a paper on say,
  2902. : protien folding. And your have a neat OpenDoc Part that does molecular
  2903. : graphics. You can include, instead of a series of pictures in your paper,
  2904. : a molecular graphic, that can be manipulated in real time. And if DSOM
  2905. : ever comes around you could do real time dynamics on Cray, or some other
  2906. : big time iron machine so that your reader can read you paper and your
  2907. : simulation will be tightly coupled with the words. The idea of to allow
  2908. : for new modes of combing data.
  2909. :  
  2910.  
  2911.  
  2912. And things can be even better than most people realize. The OSA is the 
  2913. "standard" model for linking parts. However, OpenDOc allows for custom 
  2914. communication between parts that would go MUCH faster than the 
  2915. AppleScript paradigm would suggest.
  2916.  
  2917. So fast, in fact, that you could create parts that would serve as tools 
  2918. in one collection, but in a slightly different collection, would serve as 
  2919. the display of what you created with the tool-collection.
  2920.  
  2921. The classic example is a Thesaurus. You could have a thesaurus part that 
  2922. would interract with a word-processor and provide "real time" suggestions 
  2923. for alternate words using the OSA. However, this same part could be used 
  2924. as part of the AI engine for a game. If the OSA wasn't fast enough, 
  2925. you could "roll your own" communications method that would allow much 
  2926. faster exchange of data than the human-oriented OSA would provice, and 
  2927. allow parsing of phrases in a Zork-like game that allowed nearly 
  2928. unlimited synonyms.
  2929.  
  2930.  
  2931. : > People seem to be getting very excited about OpenDoc. Could someone
  2932. : > explain to a person like me (who doesn't create complicated documents with
  2933. : > charts and pictures) what there is to get excited about OpenDoc? I have a
  2934. : > feeling that there is something, but I'm not sure what.
  2935.  
  2936. : You are allowing yourself to be confined by what can be done today.
  2937. : Personally I can think of hundreds of uses of this. By combining things
  2938. : that don't normally go together.
  2939.  
  2940.  
  2941. Or combining them in ways that no-one has thought of, because they are 
  2942. still bound by the old paradigm.
  2943.  
  2944. It's object-oriented vs structured programming all over again, but bigger 
  2945. this time.
  2946.  
  2947.  
  2948. --
  2949. - -----------------------------------------------------------------------------
  2950. Lawson English                            __  __     ____  ___       ___ ____
  2951. english@primenet.com                     /__)/__) / / / / /_  /\  / /_    /
  2952.                                         /   / \  / / / / /__ /  \/ /___  /
  2953. - -----------------------------------------------------------------------------
  2954.  
  2955. +++++++++++++++++++++++++++
  2956.  
  2957. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  2958. Date: Mon, 26 Jun 1995 13:58:29 -0800
  2959. Organization: In Phase Consulting
  2960.  
  2961. In article <j-jahnke-2606951012040001@bio-38.bsd.uchicago.edu>,
  2962. j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  2963.  
  2964. > Say you are a student in biology. And you are writing a paper on say,
  2965. > protien folding. And your have a neat OpenDoc Part that does molecular
  2966. > graphics. You can include, instead of a series of pictures in your paper,
  2967. > a molecular graphic, that can be manipulated in real time. And if DSOM
  2968. > ever comes around you could do real time dynamics on Cray, or some other
  2969. > big time iron machine so that your reader can read you paper and your
  2970. > simulation will be tightly coupled with the words. The idea of to allow
  2971. > for new modes of combing data.
  2972.  
  2973. But (to be contrary), you can do that now.
  2974.  
  2975. Just paste a QuickTime movie into your document.
  2976.  
  2977. Why wait for OpenDoc?
  2978.  
  2979. Oh (he says) you want to do some form of dynamic update from your Cray?
  2980. (Like there are thousands of business users out there who have Crays
  2981. they are just dying to incorporate animations from.)
  2982.  
  2983. Then just make your simulation package compatable with publish and subscribe.
  2984.  
  2985. OpenDoc does not allow you to do things you couldn't before, (like
  2986. dynamic update); it only allows you to create compound documents which
  2987. change the menu bar and the tools (and underlying executing application part)
  2988. when you click on part of a compound document.
  2989.  
  2990. Just like OLE v2.0, it does *not* add features that cannot be added today,
  2991. except for the compound document user interface. (That is, the only thing
  2992. it eliminates is the major task swap and reshuffling of windows--this
  2993. is replaced by a major task swap when you select the picture you
  2994. put into your text document.)
  2995.  
  2996. If we really wanted, needed, and required dynamic update of documents,
  2997. or any of a half-dozen other features that OpenDoc is being touted for,
  2998. we _could_have_done_it_already, with AppleEvents and Publish and Subscribe.
  2999. (Which have been around for over 2 _years_ now.)
  3000.  
  3001.                                                 - Bill
  3002.  
  3003. -- 
  3004. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3005. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3006. 337 W. California #4  |  Fax:    (818) 502-1467
  3007. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3008.  
  3009. +++++++++++++++++++++++++++
  3010.  
  3011. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  3012. Date: Mon, 26 Jun 1995 14:00:40 -0800
  3013. Organization: In Phase Consulting
  3014.  
  3015. j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3016.  
  3017. > ... There are lots of smart folks out there who
  3018. > have an idea of what OpenDoc can do, and I am sure in a few years folks
  3019. > will wonder how we lived without it (as we do with Windowed Event Driven
  3020. > OS's now.)
  3021.  
  3022. Or publish and subscribe.
  3023.  
  3024. Or AppleEvents.
  3025.  
  3026. Or Apple Scripting.
  3027.  
  3028. Or QuickDraw GX.
  3029.  
  3030. *sigh*
  3031.  
  3032. I can't live with ^H^H^H^H^Hwithout any of them now.
  3033.  
  3034.                                                 - Bill
  3035.  
  3036. -- 
  3037. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3038. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3039. 337 W. California #4  |  Fax:    (818) 502-1467
  3040. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3041.  
  3042. +++++++++++++++++++++++++++
  3043.  
  3044. >From h+@metrowerks.com (Jon W{tte)
  3045. Date: Mon, 26 Jun 1995 17:41:05 -0500
  3046. Organization: Random
  3047.  
  3048.  
  3049. In article <alain-2506951256230001@hammer.cs.uchicago.edu>,
  3050. alain@cs.uchicago.edu (Alain Roy) wrote:
  3051.  
  3052. > However, I'm a programmer and a student. I rarely create compound
  3053. > documents. Once in a while, I'll write a paper with a single graphic in
  3054. > it, for which MS Word's graphic tool is sufficent. On the other hand, I
  3055. > edit a program's source files. I post occaisonally to the net. I write
  3056. > some email. None of these things seems to me to benefit from having the
  3057. > ability to edit compound documents.
  3058.  
  3059. Yes, you would.
  3060.  
  3061. For e-mail, something like Eudora could be constructed as a collection of
  3062. nickname, mail collection, text editor, and transmission parts. Same thing
  3063. for news reading. Not to mention that the mail you would send could be an
  3064. OpenDoc document.
  3065.  
  3066. The "application" the user buys is a piece of stationery of a document with
  3067. the pieces already put together into something that looks like an
  3068. application. It could even be several pieces of stationery; one for sending
  3069. a new letter, and one for reading mail.
  3070.  
  3071. Similarly; for a web browser, compound documents is what it's all about.
  3072. And, to an extent, even writing applications in a visual editor of some
  3073. kind compounds "parts" in the form of text boxes, scroll bars, radio
  3074. buttons etc.
  3075.  
  3076. Cheers,
  3077.  
  3078.                                 / h+
  3079.  
  3080.  
  3081. --
  3082.  Jon Wdtte (h+@metrowerks.com), 11266 Taylor Draper Ln #2517, Austin
  3083.  Mac 1.1b9 pre-release         2/29/95 all critical bugs fixed
  3084.  Pre-release reports due       3/1/95
  3085.              -- Quote from unnamed product status report
  3086.  
  3087.  
  3088. +++++++++++++++++++++++++++
  3089.  
  3090. >From h+@metrowerks.com (Jon W{tte)
  3091. Date: Mon, 26 Jun 1995 17:41:08 -0500
  3092. Organization: Random
  3093.  
  3094.  
  3095. In article <woody-2506951647480001@192.0.2.1>,
  3096. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3097.  
  3098. > OpenDoc does not address task-oriented issues (such as reading your
  3099. > on-line mail--though I suppose someone will create a mailer OpenDoc
  3100. > part), nor does it address 'filter' tasks (tasks which involve the
  3101.  
  3102. I think you are wrong. OpenDoc provides good interfaces for several task-
  3103. and filter-like things, including mail, news and web browsing.
  3104.  
  3105. > Personally I don't think OpenDoc is going to catch on in the
  3106. > way that Apple hopes. Apple has in mind that OpenDoc is the
  3107. > technological "Microsoft Killer"--that is, they have in mind that
  3108. > a hundred little developers developing a hundred little parts
  3109. > will pick Microsoft's monolithic monopoly on office software
  3110. > (Microsoft Word, Excel, and other packages) to pieces.
  3111.  
  3112. That's only part of it.
  3113.  
  3114. > Frankly, I don't think that is going to happen. Why? Three reasons.
  3115. > First, people buy *solutions*, not individual software packages.
  3116.  
  3117. Yes, and with a hundred of different parts to choose from, it's
  3118. substantially easier for small *publishers* to pick out the pieces they
  3119. want, license them, glue them together into stationery and sell highly
  3120. specialized solutions. Say, a corporate lawyer firm word processor, or a
  3121. mortgage lender firm spreadsheet. If the customer has a choise between a
  3122. general-purpose solution, and one already set-up for his individual needs,
  3123. which one does he choose? Can Microsoft really offer 4300 different
  3124. configurations of Office?
  3125.  
  3126. Part developers make money off licensing to publishers. Publishers make
  3127. money off sales. And power users can take the solutions apart; substituting
  3128. and customizing as they wish.
  3129.  
  3130. Cheers,
  3131.  
  3132.                                         / h+
  3133.  
  3134.  
  3135. --
  3136.  Jon Wdtte (h+@metrowerks.com), 11266 Taylor Draper Ln #2517, Austin
  3137.  Mac 1.1b9 pre-release         2/29/95 all critical bugs fixed
  3138.  Pre-release reports due       3/1/95
  3139.              -- Quote from unnamed product status report
  3140.  
  3141.  
  3142. +++++++++++++++++++++++++++
  3143.  
  3144. >From BrianS@pbcomputing.com (Brian Stern)
  3145. Date: 26 Jun 1995 22:40:41 GMT
  3146. Organization: The University of Texas at Austin, Austin, Texas
  3147.  
  3148. In article <alain-2606951204220001@hammer.cs.uchicago.edu>,
  3149. alain@cs.uchicago.edu (Alain Roy) wrote:
  3150.  
  3151. < In article <BrianS-2606951105340001@slip-12-4.ots.utexas.edu>,
  3152. < BrianS@pbcomputing.com (Brian Stern) wrote:
  3153. < >Imagine being able to have a spell checker part and grammer checker part
  3154. < >that you can use easily in your newsreader and mailreader apps.  Sheesh,
  3155. < >just imagine only having to have one spell checker on your machine,
  3156. < >instead of the three or four many people now have on their machines.
  3157. < That sounds excellent to me.
  3158. < I thought that Apple Events/Applescripting were supposed to provide that
  3159. < already. Can you explain how OpenDoc makes it easier to add than just
  3160. < sending an AppleEvent? I believe you, I'm just not sure why it's easier,
  3161. < or people are more likely to use it.
  3162. < -alain
  3163.  
  3164. If you want to add spell checking ability to a program like a newsreader
  3165. today the author has to provide hooks for it in the application.  It can
  3166. be done in one of a few ways:
  3167.  
  3168. The newsreader would have to support a spellchecking engine and either
  3169. compile the spellcheck engine into the newsreader or communicate with it
  3170. directly by apple events.  
  3171.  
  3172. It could also be done by an extension that fooled with the clipboard and
  3173. spellchecked text that was selected.   
  3174.  
  3175. It could also be done by a standalone spellcheck app that could
  3176. communicate with the newsreader and get all the text in the frontmost
  3177. window or in the selection.  
  3178.  
  3179. With opendoc the newsreader just has to contain code so that it is a
  3180. container app.  Apparently this is boilerplate code and most likely a lot
  3181. of apps will become container apps with little cost or pain.  Once the
  3182. newsreader is a container app then you just add the spellcheck/grammer
  3183. check part to a window that you are using to compose your message and it
  3184. will just work.
  3185.  
  3186. I think that appleEvents have paved the way for this sort of thing but
  3187. still most apps are based on this monolithic be-all do-all model.  Opendoc
  3188. will allow better communication between code written by different authors
  3189. and make it easier to do things to the data in a document that the authors
  3190. of the container app never planned on.
  3191.  
  3192. ____________________________________________________________________
  3193. Brian  Stern  {:-{)}                          BrianS@pbcomputing.com
  3194. Toolbox commando and Menu bard.             Will FlushCache for Cash
  3195.  
  3196. +++++++++++++++++++++++++++
  3197.  
  3198. >From BrianS@pbcomputing.com (Brian Stern)
  3199. Date: 26 Jun 1995 22:55:37 GMT
  3200. Organization: The University of Texas at Austin, Austin, Texas
  3201.  
  3202. In article <woody-2606951358290001@192.0.2.1>,
  3203. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3204.  
  3205. < In article <j-jahnke-2606951012040001@bio-38.bsd.uchicago.edu>,
  3206. < j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3207. < > Say you are a student in biology. And you are writing a paper on say,
  3208. < > protien folding. And your have a neat OpenDoc Part that does molecular
  3209. < > graphics. You can include, instead of a series of pictures in your paper,
  3210. < > a molecular graphic, that can be manipulated in real time. And if DSOM
  3211. < > ever comes around you could do real time dynamics on Cray, or some other
  3212. < > big time iron machine so that your reader can read you paper and your
  3213. < > simulation will be tightly coupled with the words. The idea of to allow
  3214. < > for new modes of combing data.
  3215. < But (to be contrary), you can do that now.
  3216. < Just paste a QuickTime movie into your document.
  3217.  
  3218. Can I paste a QuickTime movie into any document?  How about a NewsWatcher
  3219. document? a CodeWarrior document?
  3220.  
  3221. < Why wait for OpenDoc?
  3222. < Oh (he says) you want to do some form of dynamic update from your Cray?
  3223. < (Like there are thousands of business users out there who have Crays
  3224. < they are just dying to incorporate animations from.)
  3225. < Then just make your simulation package compatable with publish and subscribe.
  3226. < OpenDoc does not allow you to do things you couldn't before, (like
  3227. < dynamic update); it only allows you to create compound documents which
  3228. < change the menu bar and the tools (and underlying executing application part)
  3229. < when you click on part of a compound document.
  3230.  
  3231. What if I don't like the table editor in PageMaker but I like the one in
  3232. Word.  How can I copy my word tables into PageMaker?  Guess what, I
  3233. can't.  Why?  Because they have incompatible formats.  And of course I
  3234. can't rewrite these tow apps to make this work.
  3235.  
  3236. But if I had a table editor part that I liked and PageMaker was a
  3237. container app (like I'm sure it will be) then I can use my table editor
  3238. part in PageMaker or any other app that is a container app.  That is
  3239. something that OpenDoc will allow me to do that you can't do today.
  3240.  
  3241. This huge problem of proprietary formats for data will be vastly reduced.
  3242.  
  3243. < Just like OLE v2.0, it does *not* add features that cannot be added today,
  3244. < except for the compound document user interface. (That is, the only thing
  3245. < it eliminates is the major task swap and reshuffling of windows--this
  3246. < is replaced by a major task swap when you select the picture you
  3247. < put into your text document.)
  3248. < If we really wanted, needed, and required dynamic update of documents,
  3249. < or any of a half-dozen other features that OpenDoc is being touted for,
  3250. < we _could_have_done_it_already, with AppleEvents and Publish and Subscribe.
  3251. < (Which have been around for over 2 _years_ now.)
  3252. <                                                 - Bill
  3253. < -- 
  3254. < William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3255. < In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3256. < 337 W. California #4  |  Fax:    (818) 502-1467
  3257. < Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3258.  
  3259. ____________________________________________________________________
  3260. Brian  Stern  {:-{)}                          BrianS@pbcomputing.com
  3261. Toolbox commando and Menu bard.             Will FlushCache for Cash
  3262.  
  3263. +++++++++++++++++++++++++++
  3264.  
  3265. >From Karl Armstrong <jonathan.k.armstrong@cdev.com>
  3266. Date: 26 Jun 1995 21:27:08 GMT
  3267. Organization: Computing Devices Int.
  3268.  
  3269. Jim Lloyd wrote:
  3270. >>Look at me--I do games.
  3271.  
  3272. I'm not an expert in OpenDoc, but I am a programmer with some interest in it.
  3273. This statement got me thinking about how OD might apply to games. 
  3274.  
  3275. I think it is very likely that someone will come up with a component based game
  3276. system that can be added to. Think of all the add-ons available for Doom.
  3277. Doom's "open" architecure consists of a maze editor. Now image a game where
  3278. innovative programmers could add new rules or entirely new capabilities. How
  3279. about a strategic type wargame that someone can add a tactical/arcade module
  3280. too? Without getting into anymore specifics, I think you see the point. A OD
  3281. module does not nescesarily have to have a strict visual component; it's really
  3282. an advanced sort of IPC. The possiblities are endless.
  3283.  
  3284. -- 
  3285. Karl Arsmtrong
  3286. Computing Devices Int.
  3287. (303) 779-7702
  3288. (303) 779-7704 (fax)
  3289.  
  3290.  
  3291. +++++++++++++++++++++++++++
  3292.  
  3293. >From kdj@mindspring.com (Kristopher Johnson)
  3294. Date: Mon, 26 Jun 1995 21:04:14 -0400
  3295. Organization: Sleepless Night Software
  3296.  
  3297. In article <woody-2606951358290001@192.0.2.1>,
  3298. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3299.  
  3300. > Just paste a QuickTime movie into your document.
  3301. > Why wait for OpenDoc?
  3302. > Oh (he says) you want to do some form of dynamic update from your Cray?
  3303. > (Like there are thousands of business users out there who have Crays
  3304. > they are just dying to incorporate animations from.)
  3305. > Then just make your simulation package compatable with publish and subscribe.
  3306.  
  3307. Yeah, but an advantage of OpenDoc is that developers won't have to release
  3308. new versions of their software when new technologies like QuickTime,
  3309. Publish/Subscribe, or AppleScript come out.  By creating an OpenDoc part,
  3310. a developer will be able to support features that haven't even been
  3311. invented yet!
  3312.  
  3313. -- 
  3314. Kristopher Johnson
  3315. kdj@mindspring.com
  3316.  
  3317. +++++++++++++++++++++++++++
  3318.  
  3319. >From lwalker@msmail4.hac.com (Lonny Walker)
  3320. Date: 27 Jun 1995 01:26:11 GMT
  3321. Organization: Hughes Aircraft Co. - Radar Systems
  3322.  
  3323. In article <woody-2606951358290001@192.0.2.1>,
  3324. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3325.  
  3326. [snip]
  3327. > Why wait for OpenDoc?
  3328. > Oh (he says) you want to do some form of dynamic update from your Cray?
  3329. > (Like there are thousands of business users out there who have Crays
  3330. > they are just dying to incorporate animations from.)
  3331. > Then just make your simulation package compatable with publish and subscribe.
  3332. > OpenDoc does not allow you to do things you couldn't before, (like
  3333. > dynamic update); it only allows you to create compound documents which
  3334. > change the menu bar and the tools (and underlying executing application part)
  3335. > when you click on part of a compound document.
  3336. > Just like OLE v2.0, it does *not* add features that cannot be added today,
  3337. > except for the compound document user interface. (That is, the only thing
  3338. > it eliminates is the major task swap and reshuffling of windows--this
  3339. > is replaced by a major task swap when you select the picture you
  3340. > put into your text document.)
  3341. > If we really wanted, needed, and required dynamic update of documents,
  3342. > or any of a half-dozen other features that OpenDoc is being touted for,
  3343. > we _could_have_done_it_already, with AppleEvents and Publish and Subscribe.
  3344. > (Which have been around for over 2 _years_ now.)
  3345. >                                                 - Bill
  3346.  
  3347.  
  3348. You're right, most of those things can be done today, but OpenDoc
  3349. potentially offers a better solution. The end product I really want is a
  3350. picture in my presentation; everything else are the steps required to get
  3351. there. Some problems you can't even automate since some software doesn't
  3352. supports scripting or the software may not exist.
  3353.  
  3354. For the custom analysis tasks that I write, OpenDoc provides a frame work
  3355. that allows me to easily achive my goals. Besides the analysis engine, all
  3356. I need to support is drawing, printing, editing of my data, and saving to
  3357. disk. Sure, I could use one of the existing frame works, spend alot of
  3358. time, and write a full blown application, but, thats not the end result I
  3359. need.
  3360.  
  3361. For the small, specialized parts that I'm interested in OpenDoc will fit
  3362. the bill and I'm looking forward to it's final release. Until then I'll
  3363. get the job done as you suggested, but, my eye is on the future.
  3364.  
  3365. Lonny
  3366.  
  3367. -- 
  3368. Lonny Walker                     |  email: lwalker@msmail4.hac.com
  3369. Hughes Aircraft Co.              |
  3370. Radar and Communication Systems  |
  3371.  
  3372. +++++++++++++++++++++++++++
  3373.  
  3374. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  3375. Date: Tue, 27 Jun 1995 02:14:38 GMT
  3376. Organization: BSD -- Academic Computing
  3377.  
  3378. In article <woody-2606951358290001@192.0.2.1>,
  3379. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3380.  
  3381. > In article <j-jahnke-2606951012040001@bio-38.bsd.uchicago.edu>,
  3382. > j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3383. > > Say you are a student in biology. And you are writing a paper on say,
  3384. > > protien folding. And your have a neat OpenDoc Part that does molecular
  3385. > > graphics. You can include, instead of a series of pictures in your paper,
  3386. > > a molecular graphic, that can be manipulated in real time. And if DSOM
  3387. > > ever comes around you could do real time dynamics on Cray, or some other
  3388. > > big time iron machine so that your reader can read you paper and your
  3389. > > simulation will be tightly coupled with the words. The idea of to allow
  3390. > > for new modes of combing data.
  3391. > But (to be contrary), you can do that now.
  3392. > Just paste a QuickTime movie into your document.
  3393.  
  3394. Really? Can you take the movie, and more to an abitray angle, say one that
  3395. or change the view? Or can you get interested in what you are looking at
  3396. and click on it and have it hilight a sequence of atoms and point you back
  3397. into your document where those are talked about?? While you can have a
  3398. movie running a canned demo in a movie, educationally it is more powerful
  3399. to take the movie as a jumping off point instead of the end, which is what
  3400. a Quicktime Movie is, you can't re-enter the query stream from a QuickTime
  3401. movie, you can only sit back and watch the movie.
  3402.  
  3403. > Why wait for OpenDoc?
  3404. > Oh (he says) you want to do some form of dynamic update from your Cray?
  3405. > (Like there are thousands of business users out there who have Crays
  3406. > they are just dying to incorporate animations from.)
  3407.  
  3408. You would be suprised the sorts of resources that sit on the net doing
  3409. nothing all day. Here at the U of Chicago in our open access lab we have 6
  3410. SGI Indigo2's hanging out all day doing nothing... Lots of raw processing
  3411. power just sitting there waiting to be used. We will also have an ATM line
  3412. hooked up to a big super computer at the Fermi Institute with a fair bit
  3413. of CPU time on it. The ATM link is being tested next week. And yes, we run
  3414. molecular simulations on the machine.
  3415.  
  3416. Jer,
  3417.  
  3418. -- 
  3419. Jerome Jahnke
  3420. BSD Academic Computing
  3421. University of Chicago
  3422. j-jahnke@uchicago.edu
  3423.  
  3424. +++++++++++++++++++++++++++
  3425.  
  3426. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  3427. Date: Tue, 27 Jun 1995 02:20:31 GMT
  3428. Organization: BSD -- Academic Computing
  3429.  
  3430. In article <woody-2606951400400001@192.0.2.1>,
  3431. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3432.  
  3433. > j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3434. > > ... There are lots of smart folks out there who
  3435. > > have an idea of what OpenDoc can do, and I am sure in a few years folks
  3436. > > will wonder how we lived without it (as we do with Windowed Event Driven
  3437. > > OS's now.)
  3438. > Or publish and subscribe.
  3439.  
  3440. Which quite a few folks use. I use it quite a bit in software I write.
  3441.  
  3442. > Or AppleEvents.
  3443.  
  3444. Which lots of folks use. I also use this quite a bit becuase I my Apps are
  3445. also Applescriptable AND AppleGuideable. The only problem with this
  3446. technology is that you force your user base to adopt a minimum level of
  3447. software
  3448.  
  3449. > Or Apple Scripting.
  3450.  
  3451. Which goes hand in hand with Apple Events. Most of the applications I use
  3452. use are Applescriptable. And oddly enough I script them all as well. Don't
  3453. know where you have been in regards to this.
  3454.  
  3455. > Or QuickDraw GX.
  3456.  
  3457. How does QuickDraw GX compare to OpenDoc? Personally I don't use it, but
  3458. then I got 4 years worth of 3D graphics code sitting on my disc that does
  3459. not use much at all of the MacToolbox. However I am considering QuickDraw
  3460. 3D for new stuff if only becuase it will give me access to hardware
  3461. support for 3D as it becomes available on the mac.
  3462.  
  3463. > *sigh*
  3464. > I can't live with ^H^H^H^H^Hwithout any of them now.
  3465.  
  3466. Which is just great. If what you do works, cool. No one is knocking down
  3467. your door forcing you to use it, although your users may in the future, or
  3468. they may not.
  3469.  
  3470. Jer,
  3471.  
  3472. -- 
  3473. Jerome Jahnke
  3474. BSD Academic Computing
  3475. University of Chicago
  3476. j-jahnke@uchicago.edu
  3477.  
  3478. +++++++++++++++++++++++++++
  3479.  
  3480. >From sandvik@apple.com (Kent Sandvik)
  3481. Date: Mon, 26 Jun 1995 19:58:03 -0800
  3482. Organization: Apple Computer, Inc. Developer Technical Support
  3483.  
  3484. In article <BrianS-2606951753120001@slip-22-4.ots.utexas.edu>,
  3485. BrianS@pbcomputing.com (Brian Stern) wrote:
  3486. > Can I paste a QuickTime movie into any document?  How about a NewsWatcher
  3487. > document? a CodeWarrior document?
  3488.  
  3489. Something that would be cool is an OpenDoc document, that actually has
  3490. hooks to various QuickTime tools and graphics presentation views, so that
  3491. I could use the tools for a movie, show statistics and such, and even have
  3492. all this documented on the same page.
  3493.  
  3494. --Kent
  3495.  
  3496. -- 
  3497. Kent Sandvik   sandvik@apple.com                  Working with Multimedia stuff...
  3498. Apple Developer Technical Support.                 Private activities on Internet.
  3499. http://dts.apple.com/sandvik/sandvik.html
  3500.  
  3501. +++++++++++++++++++++++++++
  3502.  
  3503. >From jim@melongem.com (Jim Lloyd)
  3504. Date: Mon, 26 Jun 1995 21:49:27 -0700
  3505. Organization: MelonGem Productions
  3506.  
  3507. In article <woody-2606951358290001@192.0.2.1>,
  3508. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3509.  
  3510. >If we really wanted, needed, and required dynamic update of documents,
  3511. >or any of a half-dozen other features that OpenDoc is being touted for,
  3512. >we _could_have_done_it_already, with AppleEvents and Publish and Subscribe.
  3513. >(Which have been around for over 2 _years_ now.)
  3514.  
  3515. This reminds me of a well-known true story, though I forget some details:
  3516.  
  3517. Once upon a time, some company found itself with a new technology, the
  3518. "dry photocopy process".  The company decided to do some market research
  3519. to decide if it could exploit this technology.  It did a market survey
  3520. based upon the closest competing technology: carbon copies.  It discovered
  3521. that carbon copies weren't used very often, from which they concluded that
  3522. the dry photo copy process would never yield a significant profit.  They
  3523. therefore sold the technology to some fledgling little company.
  3524.  
  3525. That fledgling little company was Xerox.
  3526.  
  3527. OpenDoc builds upon AppleEvents and Publish and Subscribe (and Bento and
  3528. SOM and  other technolgies) and creates something that is more than the
  3529. sum of its parts.  It results in something that has significantly more
  3530. bang for the buck than Publish and Subscribe.  With Publish and Subscribe,
  3531. each subscribing application must fully implement a "part editor" for
  3532. every data type it wishes to subscribe to, or settle with viewing PICTs of
  3533. the data.  With OpenDoc, containers need not known anything about their
  3534. embedded content, with no penalty to the user.  The difference between
  3535. these two technologies is, from my point of view, greater than the
  3536. difference between carbon copies and xerox photocopies.
  3537.  
  3538. - ---------------------------------------------------------------------
  3539. Jim Lloyd                                              jim@melongem.com
  3540. Software Consultant                                     v. 415-964-8500
  3541. MelonGem Productions                                    f. 415-964-6888
  3542.                  "At our convenience, at your expense."
  3543.  
  3544. +++++++++++++++++++++++++++
  3545.  
  3546. >From jim@melongem.com (Jim Lloyd)
  3547. Date: Mon, 26 Jun 1995 22:01:22 -0700
  3548. Organization: MelonGem Productions
  3549.  
  3550. In article <3sn8nc$ri7@magpie.cdev.com>, Karl Armstrong
  3551. <jonathan.k.armstrong@cdev.com> got his attributions wrong:
  3552.  
  3553. >Jim Lloyd wrote:
  3554.  ^^^^^^^^^
  3555. >>>Look at me--I do games.
  3556.  
  3557. No, I didn't say the above. William Edward Woody said it.
  3558.  
  3559. >I'm not an expert in OpenDoc, but I am a programmer with some interest in it.
  3560. >This statement got me thinking about how OD might apply to games. 
  3561. >
  3562. >I think it is very likely that someone will come up with a component based game
  3563. >system that can be added to. Think of all the add-ons available for Doom.
  3564. >Doom's "open" architecure consists of a maze editor. Now image a game where
  3565. >innovative programmers could add new rules or entirely new capabilities. How
  3566. >about a strategic type wargame that someone can add a tactical/arcade module
  3567. >too? Without getting into anymore specifics, I think you see the point. A OD
  3568. >module does not nescesarily have to have a strict visual component; it's really
  3569. >an advanced sort of IPC. The possiblities are endless.
  3570. >
  3571. >-- 
  3572. >Karl Arsmtrong
  3573. >Computing Devices Int.
  3574. >(303) 779-7702
  3575. >(303) 779-7704 (fax)
  3576.  
  3577. - ---------------------------------------------------------------------
  3578. Jim Lloyd                                              jim@melongem.com
  3579. Software Consultant                                     v. 415-964-8500
  3580. MelonGem Productions                                    f. 415-964-6888
  3581.                  "At our convenience, at your expense."
  3582.  
  3583. +++++++++++++++++++++++++++
  3584.  
  3585. >From awiner@us.oracle.com (Adam Winer)
  3586. Date: Mon, 26 Jun 1995 23:41:25 -0800
  3587. Organization: Oracle Corp.
  3588.  
  3589. In article <woody-2606951358290001@192.0.2.1>,
  3590. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3591.  
  3592. >In article <j-jahnke-2606951012040001@bio-38.bsd.uchicago.edu>,
  3593. >j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3594. >
  3595. >> Say you are a student in biology. And you are writing a paper on say,
  3596. >> protien folding. And your have a neat OpenDoc Part that does molecular
  3597. >> graphics. You can include, instead of a series of pictures in your paper,
  3598. >> a molecular graphic, that can be manipulated in real time. And if DSOM
  3599. >> ever comes around you could do real time dynamics on Cray, or some other
  3600. >> big time iron machine so that your reader can read you paper and your
  3601. >> simulation will be tightly coupled with the words. The idea of to allow
  3602. >> for new modes of combing data.
  3603. >
  3604. >But (to be contrary), you can do that now.
  3605. >
  3606. >Just paste a QuickTime movie into your document.
  3607.  
  3608. That presupposes that your document editor handles QuickTime movies.
  3609. But do you have any document editors that can handle Quickdraw3D
  3610. images?  I think not.  How long will it take before all editors you
  3611. use rev to support Quickdraw 3D?  A damn long time.  How long
  3612. will it be before you can add Quickdraw 3D images into an OpenDoc-enabled
  3613. application?  About 10 seconds.  Extend this to the other 10 billion
  3614. data types around right now, and there's an enormous difference
  3615. between what we have now and OpenDoc.
  3616.  
  3617. >Why wait for OpenDoc?
  3618. >
  3619. >Oh (he says) you want to do some form of dynamic update from your Cray?
  3620. >(Like there are thousands of business users out there who have Crays
  3621. >they are just dying to incorporate animations from.)
  3622. >
  3623. >Then just make your simulation package compatable with publish and subscribe.
  3624.  
  3625. Publish and subscribe doesn't do 1/10th of the things OpenDoc does.
  3626. I'm assuming you're playing devil's advocate here.
  3627.  
  3628. >OpenDoc does not allow you to do things you couldn't before, (like
  3629. >dynamic update); it only allows you to create compound documents which
  3630. >change the menu bar and the tools (and underlying executing application part)
  3631. >when you click on part of a compound document.
  3632.  
  3633. >Just like OLE v2.0, it does *not* add features that cannot be added today,
  3634. >except for the compound document user interface. (That is, the only thing
  3635. >it eliminates is the major task swap and reshuffling of windows--this
  3636. >is replaced by a major task swap when you select the picture you
  3637. >put into your text document.)
  3638.  
  3639. I would argue that's quite a lot, but that's hardly where OpenDoc
  3640. ends.  Can you send AppleScript commands to edition containers?
  3641. Can you have real-time updates on edition containers?  Can you (usefully)
  3642. subscribe to a data type you never knew about.  Can you grab
  3643. a document with a lot of subscriptions, bring it over to another
  3644. computer, and start editting it there, without needing to bring
  3645. over all the miscellaneous edition files.
  3646.  
  3647. Publish and subscribe is and will always be a clumsy interface.
  3648. It was a great idea for it's time, but lets not exaggerate
  3649. it's capabilities.
  3650.  
  3651. >If we really wanted, needed, and required dynamic update of documents,
  3652. >or any of a half-dozen other features that OpenDoc is being touted for,
  3653. >we _could_have_done_it_already, with AppleEvents and Publish and Subscribe.
  3654. >(Which have been around for over 2 _years_ now.)
  3655.  
  3656. Yes, we could have, but it would have been one hell of a lot
  3657. harder.  Kind of like arguing, "The Mac's no big deal, I could
  3658. have written it on top of DOS."  We know what a dumb idea that
  3659. is...
  3660. -- 
  3661. Adam Winer
  3662. awiner@us.oracle.com
  3663. If Oracle has any opinions, these aren't them.
  3664.  
  3665. +++++++++++++++++++++++++++
  3666.  
  3667. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  3668. Date: Tue, 27 Jun 1995 03:56:57 -0800
  3669. Organization: In Phase Consulting
  3670.  
  3671. j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3672.  
  3673. > > Or QuickDraw GX.
  3674. > How does QuickDraw GX compare to OpenDoc? Personally I don't use it, but
  3675. > then I got 4 years worth of 3D graphics code sitting on my disc that does
  3676. > not use much at all of the MacToolbox. However I am considering QuickDraw
  3677. > 3D for new stuff if only becuase it will give me access to hardware
  3678. > support for 3D as it becomes available on the mac.
  3679.  
  3680. A gentle reminder.
  3681.  
  3682. QuickDraw GX was advocated as a cutting-edge technology to allow the 
  3683. easier creation of applications which provide typesetting services.
  3684. The add-on market then was endless; it would make it infinitely easier
  3685. to produce page layout programs, typesetting programs, and would allow
  3686. greater flexability in page layout.
  3687.  
  3688. It was the major technological advance which would make things easier
  3689. than ever for developers, allow significant after-market opportunities,
  3690. and it would clean windows, too. (Or at least clean Microsoft Window's
  3691. clock.)
  3692.  
  3693. In fact, much of the hype sounded pretty much the same. Or at least
  3694. enough the same that I actually invested a fair amount of time figuring
  3695. out exactly what QuickDraw GX was. And to be honest, it was a wonderful
  3696. technological advance that was never needed by the market.
  3697.  
  3698.                                                         - Bill
  3699.  
  3700. -- 
  3701. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3702. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3703. 337 W. California #4  |  Fax:    (818) 502-1467
  3704. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3705.  
  3706. +++++++++++++++++++++++++++
  3707.  
  3708. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  3709. Date: Tue, 27 Jun 1995 04:06:15 -0800
  3710. Organization: In Phase Consulting
  3711.  
  3712. > Once upon a time, some company found itself with a new technology, the
  3713. > "dry photocopy process".  The company decided to do some market research
  3714. > to decide if it could exploit this technology.  It did a market survey
  3715. > based upon the closest competing technology: carbon copies.  It discovered
  3716. > that carbon copies weren't used very often, from which they concluded that
  3717. > the dry photo copy process would never yield a significant profit.  They
  3718. > therefore sold the technology to some fledgling little company.
  3719.  
  3720. I know that story. It's a wonderful story, full of interesting points
  3721. about the fact that sometimes you need to take a risk with a new
  3722. technology, because often your marketing people are wrong.
  3723.  
  3724. And for every one of those, there are hundreds, if not thousands, of
  3725. stories where the moral of the story is:
  3726.  
  3727.         "And the fledgling little company sank into the black,
  3728.          never to be heard from again."
  3729.  
  3730. Look, I have nothing against OpenDoc. And, to be honest, I'm spending
  3731. a lot of time trying to figure out what OpenDoc is about, and in my
  3732. spare time I'm learning how to write software for OpenDoc.
  3733.  
  3734. Why?
  3735.  
  3736. Because I could be wrong. And because it doesn't cost me anything to
  3737. spend some time learning a new technology.
  3738.  
  3739. However, I honestly don't believe this technology is going to take
  3740. off in the ways that everyone is daydreaming about. And honestly I
  3741. don't think it's going to live up to the high expectations that people
  3742. have of the technology.
  3743.  
  3744. And because I believe that an honest and reasonable analysis of
  3745. the market forces that are currently under way would reveal that all
  3746. of the hopes (OpenDoc as a superior replacement for Visual Basic for
  3747. Windows?) and dreams (filter components which mediate sending e-mail?)
  3748. won't make a significant impact in the overall shape of the market.
  3749.  
  3750.                                                         - Bill
  3751.  
  3752. -- 
  3753. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3754. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3755. 337 W. California #4  |  Fax:    (818) 502-1467
  3756. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3757.  
  3758. +++++++++++++++++++++++++++
  3759.  
  3760. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  3761. Date: Tue, 27 Jun 1995 04:08:00 -0800
  3762. Organization: In Phase Consulting
  3763.  
  3764. jim@melongem.com (Jim Lloyd) wrote:
  3765.  
  3766. > In article <3sn8nc$ri7@magpie.cdev.com>, Karl Armstrong
  3767. > <jonathan.k.armstrong@cdev.com> got his attributions wrong:
  3768. > >Jim Lloyd wrote:
  3769. >  ^^^^^^^^^
  3770. > >>>Look at me--I do games.
  3771. > No, I didn't say the above. William Edward Woody said it.
  3772.  
  3773. Am I so antisocial now that no-one wants anything to do with the things
  3774. I say?
  3775.  
  3776. *giggle*
  3777.  
  3778. Remember the first rule of debate: never confuse the devil's advocate
  3779. for the devil himself.
  3780.  
  3781.                                                         - Bill
  3782.  
  3783. -- 
  3784. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  3785. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  3786. 337 W. California #4  |  Fax:    (818) 502-1467
  3787. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  3788.  
  3789. +++++++++++++++++++++++++++
  3790.  
  3791. >From laurent@sw15.com (Laurent Humbert)
  3792. Date: Tue, 27 Jun 1995 13:43:46 +0000
  3793. Organization: SW15 Software
  3794.  
  3795. >[OpenDoc ?]
  3796.  
  3797. OpenDoc is yet another insanely great new technology by Apple, supposed to
  3798. change life as we know it.
  3799.  
  3800. But it's not funny any more....
  3801.  
  3802. FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  3803. ODF.
  3804.  
  3805.  
  3806.  
  3807.  
  3808. +++++++++++++++++++++++++++
  3809.  
  3810. >From chopps@water.emich.edu (Christian E. Hopps)
  3811. Date: Tue, 27 Jun 1995 10:13:02 -0400
  3812. Organization: Eastern Michigan University, Ypsilanti
  3813.  
  3814. In article <woody-2706950406150001@192.0.2.1>,
  3815. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3816. > However, I honestly don't believe this technology is going to take
  3817. > off in the ways that everyone is daydreaming about. And honestly I
  3818. > don't think it's going to live up to the high expectations that people
  3819. > have of the technology.
  3820.  
  3821. I get the same feeling.  Except in my case I haven't done much research.
  3822.  
  3823. I keep getting this image of a user sitting in front of a computer
  3824. with 16 manuals strewn about.  A big question mark floats over the
  3825. users head as the user tries to figure out where to get help.
  3826.  
  3827. Another related image I have is of a responsibility nightmare.  Everyone
  3828. keeps referring to these companies who will be packaging a collection
  3829. of parts to make a general application.  What happens when some of the
  3830. parts are buggy?  I do understand its easier for the user to get it
  3831. fixed (replace buggy parts).  So the user calls the "collection company"
  3832. and they supposedly work with all the part creators to locate the bug.
  3833. Something tells me there are a lot of communication links that can break
  3834. down here.
  3835.  
  3836. What about companies that are expected to actually write the parts?  I
  3837. think a very common feeling among development firms is that they must
  3838. have control over what they release.  That is if something is wrong they
  3839. want to fix it.  A good example of what can go wrong (and what I am saying
  3840. developers may be afraid of) is the debugservices-[compilervendor]debugger-
  3841. ram doubler escapade.  I sat and watched metrowerks (and to a lesser degree
  3842. symantec) get a bunch of news posts asking why the debugger didn't work
  3843. under system 7.5.1.  The generic answer was:  Its not us its company X.
  3844. Users have a way of getting annoyed with that answer no matter how true
  3845. it is.
  3846.  
  3847. Consider a slightly different problem with the current
  3848. [compiler vendor]debugger-debug services setup.  I occasionally see a user
  3849. ask for [compiler-vendor] for a specific addition that would be useful to
  3850. add to the debugger to which the reply is that for now debug-services
  3851. doesn't currently support that.  That is the user identifies company A
  3852. as the one to ask for the addition when its really company B they should
  3853. be asking.  Again the result is: Its not us you need to ask company B.
  3854.  
  3855. Now consider N companies with company 1 supplying a part/container and
  3856. companies 2 through N supplying the market with a needed second part
  3857. to make the overall product useful.  A user requests company A add a
  3858. feature and the feature really belongs to the secondary part.  Except now
  3859. we have a new problem the market for parts 2,N is much larger than this
  3860. specific product and companies 2,N don't see a need to add this feature.
  3861. Company 1 and the user of this product are basically out of luck.
  3862.  
  3863. I guess this boils down to: I feel anxious over the expected amount
  3864. of implicit inter-dependence among developer firms that OpenDoc seems
  3865. to require and expects to create.
  3866.  
  3867. Actually there is a really good model of this.  Consider an application
  3868. framework or even just a OO application where most of the functionality
  3869. has been factored into separate objects.  You decouple the functionality
  3870. of one thing from others to make it more useful -- this sounds like what
  3871. OpenDoc is supposed to do.  However, as anyone who has done this knows,
  3872. the semantics of object interaction becomes harder to document, maintain
  3873. and learn. Overall complexity increases.  This is an okay situation for a
  3874. programmer (or team) because their main goal is then to keep things well
  3875. documented and in sync with the main design, i.e. constantly work at 
  3876. avoiding entropy.  What I am getting at above is that with OpenDoc there
  3877. is no programmer or team in charge of keeping sanity.  Yes some people
  3878. may step into the role but it is not at the same (and possibly needed)
  3879. level.  In the end the users really plays the role of "the invisible glue".
  3880. Left to itself I wonder if the market won't diverge into chaos.
  3881.  
  3882. Sounds scary.
  3883.  
  3884. Chris.
  3885.  
  3886. PS Don't misunderstand me, as a power user I think OpenDoc sounds cool.  I
  3887. would love to be able to move my Mac vim code into a part and use it
  3888. in all my editors.
  3889.  
  3890. +++++++++++++++++++++++++++
  3891.  
  3892. >From pamolo@internet-eireann.ie (Paolo G. Cordone)
  3893. Date: Tue, 27 Jun 1995 18:46:03 +0100
  3894. Organization: P&P
  3895.  
  3896. In article <woody-2506951647480001@192.0.2.1>,
  3897. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3898.  
  3899. > The upshot of this is that OpenDoc, while a wonderful new programming
  3900. > and user interface paradigm, probably won't affect many of us
  3901. > on the net. Unless we really do put together complex, compound
  3902. > documents for a living.
  3903.  
  3904. Oh yes? Never heard of Cyberdog, then?
  3905.  
  3906. Paolo
  3907.  
  3908. ======================================================================
  3909. Paolo G. Cordone         |             Ailesbury Rd. Dublin 4, Ireland
  3910. Macintosh                |  Internet:  pamolo@internet-eireann.ie
  3911. software engineer        |             pcordone@homer.itp.ie
  3912. & localization           |    OneNet:  ClubMac_Ireland, +353-1-4564450
  3913. specialist               |      http://intac.com/~gilesrd/paologc.html
  3914. ======================================================================
  3915.  
  3916. +++++++++++++++++++++++++++
  3917.  
  3918. >From pamolo@internet-eireann.ie (Paolo G. Cordone)
  3919. Date: Tue, 27 Jun 1995 18:46:04 +0100
  3920. Organization: P&P
  3921.  
  3922. In article <nagleDArFqA.JD8@netcom.com>,
  3923. nagle@netcom.com (John Nagle) wrote:
  3924.  
  3925. >     As a final nail in the coffin, the usual suggestion for "compound
  3926. > documents" involves tying together spreadsheets and word processor documents.
  3927. > And who makes the leading spreadsheet and the leading word processor for
  3928. > the Mac?  Microsoft.  Are they going to support OpenDoc?  No.
  3929.  
  3930. But why are you only considering things like writing papers and doing
  3931. layout jobs? OpenDoc will also address editors for the most different
  3932. tasks, like reading usenet, personal email and WWW.
  3933. Example, you have a container filled with text, you want to send that text
  3934. as mail. All you would have to do is to drag a 'mailer' stationery into
  3935. that container and there you go. A simple text file has been converted to a
  3936. mail which can be sent.
  3937. Something like that.
  3938.  
  3939. Paolo
  3940.  
  3941. ======================================================================
  3942. Paolo G. Cordone         |             Ailesbury Rd. Dublin 4, Ireland
  3943. Macintosh                |  Internet:  pamolo@internet-eireann.ie
  3944. software engineer        |             pcordone@homer.itp.ie
  3945. & localization           |    OneNet:  ClubMac_Ireland, +353-1-4564450
  3946. specialist               |      http://intac.com/~gilesrd/paologc.html
  3947. ======================================================================
  3948.  
  3949. +++++++++++++++++++++++++++
  3950.  
  3951. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  3952. Date: Tue, 27 Jun 1995 19:12:24 GMT
  3953. Organization: BSD -- Academic Computing
  3954.  
  3955. In article <woody-2706950356570001@192.0.2.1>,
  3956. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  3957.  
  3958. > j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  3959. > > > Or QuickDraw GX.
  3960. > > 
  3961. > > How does QuickDraw GX compare to OpenDoc? Personally I don't use it, but
  3962. > > then I got 4 years worth of 3D graphics code sitting on my disc that does
  3963. > > not use much at all of the MacToolbox. However I am considering QuickDraw
  3964. > > 3D for new stuff if only becuase it will give me access to hardware
  3965. > > support for 3D as it becomes available on the mac.
  3966. > A gentle reminder.
  3967. > QuickDraw GX was advocated as a cutting-edge technology to allow the 
  3968. > easier creation of applications which provide typesetting services.
  3969. > The add-on market then was endless; it would make it infinitely easier
  3970. > to produce page layout programs, typesetting programs, and would allow
  3971. > greater flexability in page layout.
  3972.  
  3973. And it has not been out for public consumption for very long either. If
  3974. you want to compare it on the merits of the other three (Publish and
  3975. Subscribe, Apple Events, and Apple Script) which have been out for quite a
  3976. bit longer. AppleScript is the newest of the three and has caught on in a
  3977. very short period of time. As developers adopt products folks use them. As
  3978. I said, I personally have no use for typography. GX's largest problem to
  3979. date has been it's phenomonal slip. When I was working for AlphaGraphics
  3980. in the late 80's GX was slated to be part of the impending system 7
  3981. release. At that time I was concerned with Typography, here it is over 5
  3982. years later and GX has arrived.
  3983.  
  3984. > It was the major technological advance which would make things easier
  3985. > than ever for developers, allow significant after-market opportunities,
  3986. > and it would clean windows, too. (Or at least clean Microsoft Window's
  3987. > clock.)
  3988.  
  3989. I hve never stated that any Apple Technology will clean Microsofts clock.
  3990. That job is left to developers NOT folks that write OS's. People don't buy
  3991. computers becuase OS x is better than OS y. They buy them becuase they
  3992. have software that runs great under OS x, as opposed to OK under OS y.
  3993.  
  3994. > In fact, much of the hype sounded pretty much the same. Or at least
  3995. > enough the same that I actually invested a fair amount of time figuring
  3996. > out exactly what QuickDraw GX was. And to be honest, it was a wonderful
  3997. > technological advance that was never needed by the market.
  3998.  
  3999. You seem to be able to accurately peg markets before they have a chance to
  4000. develop. As I stated QuickDraw GX has been out for less than a year now.
  4001. And it is making inroads. I would not count it all the way out yet. I read
  4002. in MacWeek every few weeks that some company or another is going to write
  4003. their next app wiht GX. This coupled with the fact that lotsa folks have
  4004. lots of inherited code that does lots of what GX does which gives them
  4005. less impetious to move to GX. But new product seem to be coming out that
  4006. suppor it, it makes development time shorter.
  4007.  
  4008. Jer,
  4009.  
  4010. -- 
  4011. Jerome Jahnke
  4012. BSD Academic Computing
  4013. University of Chicago
  4014. j-jahnke@uchicago.edu
  4015.  
  4016. +++++++++++++++++++++++++++
  4017.  
  4018. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  4019. Date: Tue, 27 Jun 1995 12:29:26 -0800
  4020. Organization: In Phase Consulting
  4021.  
  4022. In article <AC15BB92966813C47B@sw15.demon.co.uk>, laurent@sw15.com
  4023. (Laurent Humbert) wrote:
  4024.  
  4025. > >[OpenDoc ?]
  4026. > FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  4027. > ODF.
  4028.  
  4029. And the really cool part is that if you write your application under
  4030. the MFC framework, you get Macintosh compatability for free.
  4031.  
  4032. (Just like OpenDoc. Er, hang on a sec'; wasn't that one of the Big
  4033. Deals that OpenDoc gave you that you couldn't get anywhere else?
  4034. Hmmmm. Gotta rethink that one, should we.)
  4035.  
  4036.                                                         - Bill
  4037.  
  4038. Who refuses to sing "Cumbya, My Lord" in union with everyone else,
  4039. even if the leader of the band is his favorite computer company, Apple.
  4040.  
  4041. -- 
  4042. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  4043. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  4044. 337 W. California #4  |  Fax:    (818) 502-1467
  4045. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  4046.  
  4047. +++++++++++++++++++++++++++
  4048.  
  4049. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  4050. Date: Tue, 27 Jun 1995 12:33:17 -0800
  4051. Organization: In Phase Consulting
  4052.  
  4053. pamolo@internet-eireann.ie (Paolo G. Cordone) wrote:
  4054.  
  4055. > woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4056. > > The upshot of this is that OpenDoc, while a wonderful new programming
  4057. > > and user interface paradigm, probably won't affect many of us
  4058. > > on the net. Unless we really do put together complex, compound
  4059. > > documents for a living.
  4060. > Oh yes? Never heard of Cyberdog, then?
  4061.  
  4062. Yes I have, and it's the coolest thing in the world! It'll allow
  4063. us to do things we *never* have done before, like, er, post news,
  4064. and like, ummmm..., send e-mail, and even, er, ah, read Web pages,
  4065. hmmmmmmmm...
  4066.  
  4067. *sigh*
  4068.  
  4069. What was Cyberdog again? 
  4070.  
  4071. And what was so insanely special about it that I can't already do with 
  4072. a half a dozen other programs (aside from it's technological coolness 
  4073. and the fact that it is written as separate components inside an OpenDoc 
  4074. framework)?
  4075.  
  4076.                                                 - Bill
  4077.  
  4078. The dont_impress_me_with_technology,_show_me_what_I_can_get_done_with_it
  4079. sorta guy.
  4080.  
  4081. -- 
  4082. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  4083. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  4084. 337 W. California #4  |  Fax:    (818) 502-1467
  4085. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  4086.  
  4087. +++++++++++++++++++++++++++
  4088.  
  4089. >From taggart@scopus.com (J. Taggart Gorman)
  4090. Date: Wed, 28 Jun 1995 00:53:08 GMT
  4091. Organization: Scopus Technology, Inc.
  4092.  
  4093. In article <woody-2706951229260001@192.0.2.1>, woody@alumni.cco.caltech.edu (William Edward Woody) writes:
  4094. >In article <AC15BB92966813C47B@sw15.demon.co.uk>, laurent@sw15.com
  4095. >(Laurent Humbert) wrote:
  4096. >
  4097. >> >[OpenDoc ?]
  4098. >> 
  4099. >> FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  4100. >> ODF.
  4101. >
  4102. >And the really cool part is that if you write your application under
  4103. >the MFC framework, you get Macintosh compatability for free.
  4104.  
  4105.   I'm not going to hop in on the OpenDoc thread, but I will make nasty noises
  4106. at Bill's statement of "Macintosh compatability for free".
  4107.  
  4108.   I take it you've never actually used the Visual C++ cross compiler, eh?
  4109. If you have, and you've gotten your MFC app to work for free, then either the
  4110. app you compiled must have about 10 lines of code, or you got a better cross
  4111. compiler than me.  ;)
  4112.  
  4113.   VC Cross Compiler for Macintosh is an insult.  I won't say anything more.
  4114.  
  4115. >Who refuses to sing "Cumbya, My Lord" in union with everyone else,
  4116. >even if the leader of the band is his favorite computer company, Apple.
  4117.  
  4118.   Hey, if everyone agreed on everything, we'd still be using MS-DOS.  (Well,
  4119. DOS is still good for Doom...)
  4120.  
  4121. - -
  4122. J. Taggart Gorman
  4123. taggart@scopus.com
  4124. All Hail BEPPE, the "New Age" God of Computers for the 3rd millenium!
  4125.  
  4126.  
  4127.  
  4128. +++++++++++++++++++++++++++
  4129.  
  4130. >From jim@melongem.com (Jim Lloyd)
  4131. Date: Tue, 27 Jun 1995 21:00:58 -0700
  4132. Organization: MelonGem Productions
  4133.  
  4134. In article <woody-2706950406150001@192.0.2.1>,
  4135. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4136.  
  4137. >Look, I have nothing against OpenDoc. And, to be honest, I'm spending
  4138. >a lot of time trying to figure out what OpenDoc is about, and in my
  4139. >spare time I'm learning how to write software for OpenDoc.
  4140. >
  4141. >Why?
  4142. >
  4143. >Because I could be wrong. And because it doesn't cost me anything to
  4144. >spend some time learning a new technology.
  4145. >
  4146. >However, I honestly don't believe this technology is going to take
  4147. >off in the ways that everyone is daydreaming about. And honestly I
  4148. >don't think it's going to live up to the high expectations that people
  4149. >have of the technology.
  4150. >
  4151. >And because I believe that an honest and reasonable analysis of
  4152. >the market forces that are currently under way would reveal that all
  4153. >of the hopes (OpenDoc as a superior replacement for Visual Basic for
  4154. >Windows?) and dreams (filter components which mediate sending e-mail?)
  4155. >won't make a significant impact in the overall shape of the market.
  4156.  
  4157. Ok, I won't argue against this opinion.  I agree that market forces can
  4158. sometimes turn technically superior products into failures, and it's too
  4159. soon to tell what the market will do with OpenDoc.  However, you're
  4160. initial arguments seemed to be on the level of "OpenDoc is just a compound
  4161. document architecture, which we already have, and nobody uses, because
  4162. there is no need".  Even Microsoft doesn't use this kind of argument
  4163. against OpenDoc.
  4164.  
  4165. - ---------------------------------------------------------------------
  4166. Jim Lloyd                                              jim@melongem.com
  4167. Software Consultant                                     v. 415-964-8500
  4168. MelonGem Productions                                    f. 415-964-6888
  4169.                  "At our convenience, at your expense."
  4170.  
  4171. +++++++++++++++++++++++++++
  4172.  
  4173. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  4174. Date: Wed, 28 Jun 1995 05:56:34 GMT
  4175. Organization: BSD -- Academic Computing
  4176.  
  4177. In article <woody-2706951229260001@192.0.2.1>,
  4178. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4179.  
  4180. > In article <AC15BB92966813C47B@sw15.demon.co.uk>, laurent@sw15.com
  4181. > (Laurent Humbert) wrote:
  4182. > > >[OpenDoc ?]
  4183. > > 
  4184. > > FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  4185. > > ODF.
  4186. > And the really cool part is that if you write your application under
  4187. > the MFC framework, you get Macintosh compatability for free.
  4188.  
  4189. Come ON! You are banging Apple Evangalism for their stance on OpenDoc and
  4190. you say something like this?? Have you #1) Tried to do this (MFC program
  4191. under both Mac and Windows) and #2) Seen the results of such efforts??
  4192. Seems to me you are doing our devils advocating a bit more than necessary
  4193. here. There are serious problems with MFC on the Mac side, the least of
  4194. which seems to be a severe memory leak. Now I will say that MFC is a
  4195. rather nice Windows lib, however I like OWL better, it is more my flavor,
  4196. kinda like PowerPlant vs MacApp. MFC is more like MacApp, and OWL is more
  4197. like PowerPlant.
  4198.  
  4199. > (Just like OpenDoc. Er, hang on a sec'; wasn't that one of the Big
  4200. > Deals that OpenDoc gave you that you couldn't get anywhere else?
  4201. > Hmmmm. Gotta rethink that one, should we.)
  4202.  
  4203. OpenDoc is cross platform. And ODF is more so. Both are out and working.
  4204. No amount of cross platform work will EVER be one source file will compile
  4205. for both platforms.
  4206.  
  4207. Jer,
  4208.  
  4209. -- 
  4210. Jerome Jahnke
  4211. BSD Academic Computing
  4212. University of Chicago
  4213. j-jahnke@uchicago.edu
  4214.  
  4215. +++++++++++++++++++++++++++
  4216.  
  4217. >From awiner@us.oracle.com (Adam Winer)
  4218. Date: Tue, 27 Jun 1995 20:17:28 -0800
  4219. Organization: Oracle Corp.
  4220.  
  4221. In article <woody-2706951229260001@192.0.2.1>,
  4222. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4223.  
  4224. >In article <AC15BB92966813C47B@sw15.demon.co.uk>, laurent@sw15.com
  4225. >(Laurent Humbert) wrote:
  4226. >
  4227. >> >[OpenDoc ?]
  4228. >> 
  4229. >> FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  4230. >> ODF.
  4231. >
  4232. >And the really cool part is that if you write your application under
  4233. >the MFC framework, you get Macintosh compatability for free.
  4234.  
  4235. You don't really believe this, do you?  Even Microsoft doesn't claim
  4236. that you can use Wings, switch to the Mac target, and get anything
  4237. even remotely good enough for a commercial app.  Performance,
  4238. look-and-feel, and feature set (both on the Windows side and Mac
  4239. side) of VC++-ported apps just don't cut it without some serious
  4240. direct-to-Toolbox hacking.  Hell, I've even been told by MS employees
  4241. to avoid using VC++/Wings/MFC if at all possible.
  4242.  
  4243. Seriously, Bill, you don't have to sing "Cumbaya" with us,
  4244. but you also don't have to wield a pitchfork!
  4245. -- 
  4246. Adam Winer
  4247. awiner@us.oracle.com
  4248. If Oracle has any opinions, these aren't them.
  4249.  
  4250. +++++++++++++++++++++++++++
  4251.  
  4252. >From Jim.Matthews@dartvax.dartmouth.edu (Jim Matthews)
  4253. Date: Wed, 28 Jun 1995 10:01:07 -0500
  4254. Organization: Dartmouth College
  4255.  
  4256. In article <woody-2706951233170001@192.0.2.1>,
  4257. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4258.  
  4259. > What was Cyberdog again? 
  4260. > And what was so insanely special about it that I can't already do with 
  4261. > a half a dozen other programs (aside from it's technological coolness 
  4262. > and the fact that it is written as separate components inside an OpenDoc 
  4263. > framework)?
  4264.  
  4265. Off the top of my head:
  4266.  
  4267. * It keeps a unified log and hotlist that is shared between my FTP client,
  4268. gopher client, web browser, etc., without limiting me to software from one
  4269. company.
  4270.  
  4271. * It lets me put real Internet data, as opposed to an ugly URL that must
  4272. be copy/pasted or cmd-clicked, in arbitrary documents.
  4273.  
  4274. * It lets me enhance my browsers incrementally.  If I want my web browser
  4275. to have VRML support I don't have to wait for my browser vendor to get
  4276. around to it, or for someone else to implement the union of the browser
  4277. features I like and VRML; I just have to wait for someone to write a VRML
  4278. part.  Today I can't get inline JPEGs without ditching MacWeb for
  4279. Netscape; with Cyberdog I can choose software with finer granularity.
  4280.  
  4281. * It lets me keep writing Internet software.  For example, I wrote and
  4282. maintain an Internet e-mail program.  These days, an e-mail program should
  4283. allow the inline viewing and editing of any sort of content that has a
  4284. MIME type assigned.  But there's no way I can do that, and with today's
  4285. technology I can either give up or do a half-baked job.  With OpenDoc
  4286. there's an opportunity to harness viewers and editors written by others,
  4287. without giving up the features of my e-mail program that I want to keep. 
  4288. And it's a much saner approach to software engineering: enhancing the
  4289. program to support a new data type won't require new releases, new testing
  4290. cycles, etc.  OpenDoc could let me get off the upgrade treadmill without
  4291. leaving my program to stagnate.
  4292.  
  4293. To me OpenDoc feels a lot like the Mac Toolbox did in 1984.  It was a lot
  4294. to get your mind around, and made programming an order of magnitude
  4295. harder.  A devil's advocate could easily ridicule the payoff from all this
  4296. trouble: what makes a Mac menu so much more powerful than the ones in the
  4297. DOS version of 1-2-3?  But in the final analysis the Toolbox made it
  4298. possible to write programs that we just couldn't have written under DOS,
  4299. and we're the better for it.  OpenDoc may not slay Microsoft, but in 5-10
  4300. years I suspect that non-component software will look like DOS software in
  4301. the early 90s; it just won't seem right.  After seeing Cyberdog at WWDC my
  4302. reaction was "Why isn't the Copland Finder a Cyberdog part?"  The Copland
  4303. Finder looks to be an amazing program, but once you get the OpenDoc bug it
  4304. seems awfully limiting to bottle up that functionality in a single
  4305. application.
  4306.  
  4307. Jim Matthews
  4308. Dartmouth Software Development
  4309. <http://www.dartmouth.edu/pages/softdev/>
  4310.  
  4311. +++++++++++++++++++++++++++
  4312.  
  4313. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  4314. Date: Wed, 28 Jun 1995 13:38:17 -0800
  4315. Organization: In Phase Consulting
  4316.  
  4317. In article <DAuyGL.Jtt@scopus.com>, taggart@scopus.com wrote:
  4318.  
  4319. >   I take it you've never actually used the Visual C++ cross compiler, eh?
  4320. > If you have, and you've gotten your MFC app to work for free, then either the
  4321. > app you compiled must have about 10 lines of code, or you got a better cross
  4322. > compiler than me.  ;)
  4323.  
  4324. Ah, yes; let's all pull out our programming phallises and see which one
  4325. is longer. (10 lines of code? Yeah, right...)
  4326.  
  4327. Look, _nothing_ is for free. Even portability when writing code with
  4328. OpenDoc is not for free; not by any stretch of the imagination. And
  4329. the Microsoft Visual C++ cross compiler environment for the Macintosh
  4330. really sucks big time; it produces lousy code, and the MFC framework
  4331. is a real loser, in my book. (Not that it's from Microsoft you understand;
  4332. but because technically it bites big time.)
  4333.  
  4334. On the other hand, with some of the discussion about how wonderful
  4335. OpenDoc is because it provides 'portability for free'--first, it's
  4336. not the only tool out there claiming that, and second, portability
  4337. does not come for free by any stretch of the imagination. And frankly,
  4338. like MFC, OpenDoc may not even be the right answer for portability.
  4339. (Depends on how Novell does in it's port to Windows.)
  4340.  
  4341.                                                 - Bill
  4342.  
  4343. -- 
  4344. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  4345. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  4346. 337 W. California #4  |  Fax:    (818) 502-1467
  4347. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  4348.  
  4349. +++++++++++++++++++++++++++
  4350.  
  4351. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  4352. Date: Wed, 28 Jun 1995 13:58:07 -0800
  4353. Organization: In Phase Consulting
  4354.  
  4355. jim@melongem.com (Jim Lloyd) wrote:
  4356.  
  4357. > Ok, I won't argue against this opinion.  I agree that market forces can
  4358. > sometimes turn technically superior products into failures, and it's too
  4359. > soon to tell what the market will do with OpenDoc.  However, you're
  4360. > initial arguments seemed to be on the level of "OpenDoc is just a compound
  4361. > document architecture, which we already have, and nobody uses, because
  4362. > there is no need".  Even Microsoft doesn't use this kind of argument
  4363. > against OpenDoc.
  4364.  
  4365. Nice summary. However, you got it wrong.
  4366.  
  4367. However, let *me* summarize what *I* am saying.
  4368.  
  4369. 1)  "OpenDoc is wonderful because it provides hot links and on-the-fly
  4370.     updates across multiple applications."
  4371.  
  4372. me: If hot-links were so darned important and so darned cool, then why
  4373.     wait for OpenDoc? Use Publish and Subscribe. 
  4374.  
  4375.     If people aren't using Publish and Subscribe, then perhaps it's because
  4376.     hot-links are not all that hyper-special and cool.
  4377.  
  4378. 2)  "OpenDoc provides wonderful interapplication interaction."
  4379.  
  4380. me: If interapplication interaction was do darned cool, then why wait
  4381.     for OpenDoc? Use AppleEvents.
  4382.  
  4383.     If people aren't using AppleEvents, then perhaps it's because
  4384.     interapplication interaction is not all that hyper-special and cool.
  4385.  
  4386. 3)  "OpenDoc provides a compound docoument-centric interface that's really
  4387.     cool."
  4388.  
  4389. me: (Note: I never said compound documents are already here.)
  4390.  
  4391.     That's really a neat idea. However, compound documents are only
  4392.     really useful in the standard business applications--spreadsheets,
  4393.     word processors, project management, etc.
  4394.  
  4395.     Those markets are already fully saturated by the big players, with
  4396.     Microsoft being the biggest.
  4397.  
  4398.     Is OpenDoc going to help us put together really cool business
  4399.     applications? Yes. Will we see any revenue or return from our
  4400.     programming investment from putting together really cool business
  4401.     applications? Only if Microsoft (or another big player already in
  4402.     this fully saturated market) picks up the tool and puts into a
  4403.     new revision of their product.
  4404.  
  4405. 4)  I have been told by some at Apple that "OpenDoc is the Microsoft
  4406.     Killer." (That's why Microsoft is trying to kill OpenDoc.) That is,
  4407.     "OpenDoc will allow smaller software developers to effectively pick
  4408.     Microsoft's choakhold on the business software market apart."
  4409.  
  4410. me: People do not buy individual software tools. They buy pre-packaged
  4411.     software packages. (That's why Microsoft Office is so darned
  4412.     successful--a one stop solution.)
  4413.  
  4414.     So, we basically reduce this argument to the same as for #3, above.
  4415.  
  4416.  
  4417.  
  4418. Now, since making my initial arguments, I have had a number of issues
  4419. brought to my attention. And I honestly do not know enough about the
  4420. heart of the OpenDoc API to be able to make a reasonable judgement if
  4421. what I am being told is hype or honest truth.
  4422.  
  4423. Those people have basically responded to arguments (1) and (2) above:
  4424.  
  4425. 1a) People didn't use Publish and Subscribe, not because on-the-fly
  4426.     updates isn't cool, but because Publish and Subscribe sucks.
  4427.     OpenDoc allows us to do Publish and Subscribe-like things in a
  4428.     much easier and more natural way.
  4429.  
  4430. 2a) People didn't use AppleEvents, not because interapplication linking
  4431.     isn't cool, but because AppleEvents sucks. (Agreed, BTW.) OpenDoc
  4432.     allows us to do interapplication linking-like things in a much
  4433.     easier and more natural way.
  4434.  
  4435. Now I've gotten one interesting bit of e-mail which suggested that
  4436. OpenDoc, like any good paradigm shift, makes things hard at first (because
  4437. you need to bend your brain to fit into the new paradigm).  I have
  4438. nothing against bending my brain (it's good to occassionally crack the
  4439. crust off your brain by twisting it), and so the paradigm shift
  4440. doesn't really bother me. But on the other side, the question in my
  4441. mind still stands:
  4442.  
  4443.     Does OpenDoc really make interapplication operation and Publish-
  4444.     and-Subscribe easier?
  4445.  
  4446. There are two issues which surround this, which I need to answer for
  4447. myself.
  4448.  
  4449. The first is: when getting multiple applications to work together, they
  4450. must agree on what they are talking about in the first place. (It would
  4451. make no sense for a mail-tool to ask Micrsoft Excel to e-mail an outgoing
  4452. message, would it?) Does OpenDoc mediate this? How? And does OpenDoc
  4453. define the standards two applications use on having a conversation?
  4454.  
  4455. If so, then doesn't this also constitute an added level of complications?
  4456. (A good level which we need, regardless if OpenDoc takes off or not.)
  4457. If not, then how are we supposed to get our applications to work
  4458. together? (Shucks we can't even have a conversation about OpenDoc
  4459. before some wise-ass (me) gets in there and pisses people off!)
  4460.  
  4461. The second is: when getting on-the-fly updates to work, I do know that 
  4462. applications can default to sending raw pictures and text if they
  4463. cannot mediate on a common specification language for those updates.
  4464.  
  4465. Does OpenDoc define other types of conversations? Or is that up to us?
  4466. (Basically it's the same question as above, except for applying to
  4467. imbeded applications.)
  4468.  
  4469.  
  4470. Well, I'm off to read the API specifications.
  4471.  
  4472.                                                 - Bill
  4473.  
  4474. -- 
  4475. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  4476. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  4477. 337 W. California #4  |  Fax:    (818) 502-1467
  4478. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  4479.  
  4480. +++++++++++++++++++++++++++
  4481.  
  4482. >From mta@umich.edu (Mike Alexander)
  4483. Date: Wed, 28 Jun 1995 18:15:02 -0400
  4484. Organization: University of Michigan
  4485.  
  4486. In article <Jim.Matthews-2806951001070001@kip-2-sn-103.dartmouth.edu>,
  4487. Jim.Matthews@dartvax.dartmouth.edu (Jim Matthews) wrote:
  4488.  
  4489. > In article <woody-2706951233170001@192.0.2.1>,
  4490. > woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4491. > > What was Cyberdog again? 
  4492. > > 
  4493. > > And what was so insanely special about it that I can't already do with 
  4494. > > a half a dozen other programs (aside from it's technological coolness 
  4495. > > and the fact that it is written as separate components inside an OpenDoc 
  4496. > > framework)?
  4497. > Off the top of my head:
  4498.  
  4499. I agree with all you said, but one thing you left out is that it will let
  4500. ordinary people create customized documents which contain elements that
  4501. access the net.  You don't really need to know much about the net to do
  4502. this, and the person using the document doesn't really even need to know
  4503. the net exists.  They just know (to pick a random example) that the
  4504. document contains a description of some companies and also happens to
  4505. contain their current stock prices (or buttons to get them).  This is just
  4506. the first thing that comes to mind, lots more interesting and complex
  4507. examples are possible.  Sure it's possible to do this sort of thing now,
  4508. but it will be a heck of a lot easier with Cyberdog and similar things.
  4509.  
  4510. Mike Alexander              Internet:       mta@umich.edu
  4511. University of Michigan      America Online: MAlexander
  4512. ITD - Research Systems      AppleLink:      UMICH
  4513.  
  4514. +++++++++++++++++++++++++++
  4515.  
  4516. >From Richard Wesley <hawkfish@punchdeck.com>
  4517. Date: 29 Jun 1995 15:41:53 GMT
  4518. Organization: Punch Deck Consulting
  4519.  
  4520. j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  4521. >In article <woody-2706951229260001@192.0.2.1>,
  4522. >woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4523. >> And the really cool part is that if you write your application under
  4524. >> the MFC framework, you get Macintosh compatability for free.
  4525. >
  4526. >Come ON! You are banging Apple Evangalism for their stance on OpenDoc and
  4527. >you say something like this?? Have you #1) Tried to do this (MFC program
  4528. >under both Mac and Windows) and #2) Seen the results of such efforts??
  4529. >Seems to me you are doing our devils advocating a bit more than necessary
  4530. >here. There are serious problems with MFC on the Mac side, the least of
  4531. >which seems to be a severe memory leak. Now I will say that MFC is a
  4532. >rather nice Windows lib, however I like OWL better, it is more my flavor,
  4533. >kinda like PowerPlant vs MacApp. MFC is more like MacApp, and OWL is more
  4534. >like PowerPlant.
  4535.  
  4536. Not to mention massive code bloat.  I just talked to a group at Microsoft
  4537. who gave up using MFC/Mac because a vanilla application was 1Mb before they
  4538. added their own code!
  4539.  
  4540. http://www.punchdeck.com/hawkfish/Resume.html
  4541.  
  4542. - --------------------------------------------------------------------------
  4543. Richard Wesley  hawkfish@punchdeck.com | "'Hand it round first, and cut it
  4544. Punch Deck Consulting pnchdeck@aol.com |  afterwards.'" - Lewis Carroll,
  4545.      Macintosh Software Development    |    "Through the Looking Glass"
  4546. - --------------------------------------------------------------------------
  4547.  
  4548.  
  4549.  
  4550. +++++++++++++++++++++++++++
  4551.  
  4552. >From pamolo@internet-eireann.ie (Paolo G. Cordone)
  4553. Date: Thu, 29 Jun 1995 18:20:52 +0100
  4554. Organization: P&P
  4555.  
  4556. In article <AC15BB92966813C47B@sw15.demon.co.uk>,
  4557. laurent@sw15.com (Laurent Humbert) wrote:
  4558.  
  4559. > OpenDoc is yet another insanely great new technology by Apple, supposed to
  4560. > change life as we know it.
  4561. > But it's not funny any more....
  4562. > FWIW, I'll probably invest more time learning Win95/MFC/OLE rather than
  4563. > ODF.
  4564.  
  4565. Mmm, that sounds to me like in a year's time we (Mac users) we'll have to
  4566. wait for a Windoze version of NewsHopper to come out first before the same
  4567. version ships for the Mac...
  4568.  
  4569. To be honest it is a bit like a slap in the face. After supporting a Mac
  4570. only product and make it successful we are told that the developers now
  4571. will rather concentrate on MS technologies than adopting Apple's latest
  4572. innovations.
  4573. Pity.
  4574.  
  4575. Paolo
  4576.  
  4577. ======================================================================
  4578. Paolo G. Cordone         |             Ailesbury Rd. Dublin 4, Ireland
  4579. Macintosh                |  Internet:  pamolo@internet-eireann.ie
  4580. software engineer        |             pcordone@homer.itp.ie
  4581. & localization           |    OneNet:  ClubMac_Ireland, +353-1-4564450
  4582. specialist               |      http://intac.com/~gilesrd/paologc.html
  4583. ======================================================================
  4584.  
  4585. +++++++++++++++++++++++++++
  4586.  
  4587. >From pamolo@internet-eireann.ie (Paolo G. Cordone)
  4588. Date: Thu, 29 Jun 1995 18:20:54 +0100
  4589. Organization: P&P
  4590.  
  4591. In article <woody-2706951233170001@192.0.2.1>,
  4592. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4593.  
  4594. > Yes I have, and it's the coolest thing in the world! It'll allow
  4595. > us to do things we *never* have done before, like, er, post news,
  4596. > and like, ummmm..., send e-mail, and even, er, ah, read Web pages,
  4597. > hmmmmmmmm...
  4598.  
  4599. Why, then, do you have a computer? It allows you to do things we *never*
  4600. have done before, like, er, write memos, letters, do calculations, and all
  4601. sorts of things we have done for decades without computers.
  4602.  
  4603. It's not *what* we can do, it's *how* we can do which matters.
  4604.  
  4605. IMHO at least.
  4606.  
  4607. Paolo
  4608.  
  4609. ======================================================================
  4610. Paolo G. Cordone         |             Ailesbury Rd. Dublin 4, Ireland
  4611. Macintosh                |  Internet:  pamolo@internet-eireann.ie
  4612. software engineer        |             pcordone@homer.itp.ie
  4613. & localization           |    OneNet:  ClubMac_Ireland, +353-1-4564450
  4614. specialist               |      http://intac.com/~gilesrd/paologc.html
  4615. ======================================================================
  4616.  
  4617. +++++++++++++++++++++++++++
  4618.  
  4619. >From radix@efn.org (Gregory Jorgensen)
  4620. Date: Wed, 28 Jun 1995 14:10:27 -0800
  4621. Organization: Radix Consulting Inc.
  4622.  
  4623. In article <j-jahnke-2706951412240001@bio-38.bsd.uchicago.edu>,
  4624. j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
  4625.  
  4626. > I hve never stated that any Apple Technology will clean Microsofts clock.
  4627. > That job is left to developers NOT folks that write OS's. People don't buy
  4628. > computers becuase OS x is better than OS y. They buy them becuase they
  4629. > have software that runs great under OS x, as opposed to OK under OS y.
  4630.  
  4631. If you believe this you have never spent any time in a computer store, or
  4632. working for a corporation with lame policies, or studying in a university
  4633. that's on the Apple or IBM dole. And no matter what we would all like to
  4634. believe, people don't think about whether their software (if they even
  4635. have any) will work on the PC they buy until they get it home. Price is a
  4636. big, if not the biggest, deciding factor in PC sales. Availability and
  4637. selection are probably the next biggest factor.
  4638.  
  4639. OpenDoc will matter to developers. It won't matter to end-users no matter
  4640. how cool it is. When we have software that will let someone "who doesn't
  4641. know computer" "punch a button" and "do a report and graph for them" then
  4642. we'll have something. And those users won't care who makes the box (as if
  4643. they do now). [The quotes are a composite of things I regularly hear from
  4644. clients.]
  4645.  
  4646. -- 
  4647. Gregory Jorgensen
  4648. radix consulting inc
  4649. radixinc@aol.com, radix@efn.org
  4650.  
  4651. "I would consent to have a limb amputated to recover my spirits." -- Samuel Johnson
  4652.  
  4653. +++++++++++++++++++++++++++
  4654.  
  4655. >From Karl Armstrong <jonathan.k.armstrong@cdev.com>
  4656. Date: 29 Jun 1995 17:38:58 GMT
  4657. Organization: Computing Devices Int.
  4658.  
  4659. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4660. >3)  "OpenDoc provides a compound docoument-centric interface that's really
  4661. >    cool."
  4662. >
  4663. >me: (Note: I never said compound documents are already here.)
  4664. >
  4665. >    That's really a neat idea. However, compound documents are only
  4666. >    really useful in the standard business applications--spreadsheets,
  4667. >    word processors, project management, etc.
  4668. >
  4669. >    Those markets are already fully saturated by the big players, with
  4670. >    Microsoft being the biggest.
  4671. >
  4672. >    Is OpenDoc going to help us put together really cool business
  4673. >    applications? Yes. Will we see any revenue or return from our
  4674. >    programming investment from putting together really cool business
  4675. >    applications? Only if Microsoft (or another big player already in
  4676. >    this fully saturated market) picks up the tool and puts into a
  4677. >    new revision of their product.
  4678.  
  4679. As I said before, early in this discussion, compound docs are not just for
  4680. business applications. It's not really that hard to image a game system 
  4681. based on component software, where the player's environment is a kind of 
  4682. "compound document". It's a new concept (at least for computer games) but 
  4683. it something that should work naturally. It's also not too hard to think 
  4684. of a software engineering project file (not the individual source files) 
  4685. as a compound document; in fact all the current software development 
  4686. systems depend heavily on IPC. A graphics package based on component 
  4687. software already exists; it's called Photoshop. 
  4688.  
  4689. It's hard to imagine M$ and the other big boys getting all the good
  4690. ideas, and even if they do there's a proven market for plug-ins (Photoshop) 
  4691. that sets a good precedent for small OD developers.
  4692.  
  4693. Do existing solutions already exist?  Partially, but there is a mixture of
  4694. solutions (AppleEvents, Publish&Subscribe, Drag Manager, proprietary plug-ins,
  4695. etc...) and none of them are perfect. OD is a logical next step, and though 
  4696. it won't ever be perfect either, it will give Apple an advantage.
  4697.  
  4698. -- 
  4699. Karl Arsmtrong
  4700. Computing Devices Int.
  4701. (303) 779-7702
  4702. (303) 779-7704 (fax)
  4703.  
  4704.  
  4705. +++++++++++++++++++++++++++
  4706.  
  4707. >From quinn@cs.uwa.edu.au (Quinn "The Eskimo!")
  4708. Date: Sun, 02 Jul 1995 14:57:32 +0800
  4709. Organization: Department of Computer Science, University of Western Australia
  4710.  
  4711. In article <Jim.Matthews-2806951001070001@kip-2-sn-103.dartmouth.edu>,
  4712. Jim.Matthews@dartvax.dartmouth.edu (Jim Matthews) wrote:
  4713.  
  4714. >After seeing Cyberdog at WWDC my
  4715. >reaction was "Why isn't the Copland Finder a Cyberdog part?"
  4716.  
  4717. Well the simple answer to that is that the Gershwin Finder *will* be an
  4718. OpenDoc part.  I think Copland development is too far down the track for
  4719. such a crucial component to be dependent on a technology that isn't
  4720. finished yet.
  4721.  
  4722. Share and Enjoy.
  4723. --
  4724. Quinn "The Eskimo!"      "Space army! I'd death ray my grandmother
  4725.                           for a space army about now."
  4726. >From elarson@metronj.org (eric larson)
  4727. Subject: Why fuss over OpenDoc?
  4728. Date: 01 Jul 95 09:39:42 
  4729. Organization: FidoNet: No Microsoft Products Used To Produce This Message 
  4730.  
  4731.  > People seem to be getting very excited about OpenDoc. Could someone
  4732.  > explain to a person like me (who doesn't create complicated documents
  4733.  > with charts and pictures) what there is to get excited about OpenDoc?
  4734.  
  4735. The main reason somebody like you would be interested in OpenDoc is that you
  4736. wouldn't have to carry around all the excess baggage that is present in a
  4737. modern monolithic program; say like Word 6. If all you need is a few simple
  4738. tools, that's all you would install.
  4739. >From elarson@metronj.org (eric larson)
  4740. Subject: Why fuss over OpenDoc?
  4741. Date: 01 Jul 95 13:07:14 
  4742. Organization: FidoNet: No Microsoft Products Used To Produce This Message 
  4743.  
  4744.  > However, let *me* summarize what *I* am saying.
  4745.  
  4746.  > 1)  "OpenDoc is wonderful because it provides hot links and on-the-fly
  4747.  >     updates across multiple applications."
  4748.  
  4749.  > me: If hot-links were so darned important and so darned cool, then why
  4750.  >     wait for OpenDoc? Use Publish and Subscribe.
  4751.  
  4752.  >     If people aren't using Publish and Subscribe, then perhaps it's
  4753.  > because
  4754.  >     hot-links are not all that hyper-special and cool.
  4755.  
  4756. Or it might be because Publish and Subscribe is a bletcherous implementation of
  4757. hot links. Even the name makes one feel sort of woozy around the edges. Why
  4758. call it something impenetrable like "Publish and Subscribe" when it could be
  4759. called something like Hot Links? Similarly to QuickDraw GX. How can the user
  4760. grasp the benefits of a product with a name like that?
  4761.  
  4762. Seriously, the argument that a certain feature idea is bad because nobody uses
  4763. an existing implementation is very weak. There is a long history of success
  4764. following those who fix a broken implementation of a basically good idea.
  4765.  
  4766. It's like Intel stating that floating point isn't important because nobody uses
  4767. it. The real truth of the matter may be that nobody uses floating point on
  4768. Intel machines because Intel floating point bites.
  4769.  
  4770. +++++++++++++++++++++++++++
  4771.  
  4772. >From woody@alumni.cco.caltech.edu (William Edward Woody)
  4773. Date: Mon, 03 Jul 1995 12:15:55 -0800
  4774. Organization: In Phase Consulting
  4775.  
  4776. elarson@metronj.org (eric larson) wrote:
  4777.  
  4778. > Seriously, the argument that a certain feature idea is bad because nobody uses
  4779. > an existing implementation is very weak. There is a long history of success
  4780. > following those who fix a broken implementation of a basically good idea.
  4781.  
  4782. I know that. That's what I said at the bottom of the same post you just
  4783. quoted from.
  4784.  
  4785. The thing is, I had no idea how much other people disliked Publish and
  4786. Subscribe, or AppleEvents, until this thread was started and people
  4787. started blasting me.
  4788.  
  4789. > It's like Intel stating that floating point isn't important because 
  4790. > nobody uses it. The real truth of the matter may be that nobody uses 
  4791. > floating point on Intel machines because Intel floating point bites.
  4792.  
  4793. But I use floating point on Intel machines all the time. Code for it
  4794. in assembly language, I do. And while it's a little wierd, once you
  4795. get the hang of it Intel floating point is just fine.
  4796.  
  4797. See, that's my point. Until you told me that people don't write
  4798. floating point on Intel machines because it bit, I would have guessed
  4799. that most people don't do floating point on Intel machines because
  4800. they really didn't need floating point in their programming.
  4801. I would never have guessed that people didn't do floating point
  4802. because they disliked it so much.
  4803.  
  4804.                                                 - Bill
  4805.  
  4806. -- 
  4807. William Edward Woody  |  e-mail: woody@alumni.cco.caltech.edu
  4808. In Phase Consulting   |  WWW:    http://www.alumni.caltech.edu/~woody
  4809. 337 W. California #4  |  Fax:    (818) 502-1467
  4810. Glendale, CA 91203    |  ICBM:   N:34.4' W:118.15'
  4811.  
  4812. +++++++++++++++++++++++++++
  4813.  
  4814. >From marshall@kauri.vuw.ac.nz (Stephen Marshall)
  4815. Date: Wed, 05 Jul 1995 10:52:27 +1200
  4816. Organization: Victoria University of Wellington
  4817.  
  4818. In article <3suofi$n7s@magpie.cdev.com>, Karl Armstrong
  4819. <jonathan.k.armstrong@cdev.com> wrote:
  4820.  
  4821. > woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  4822. > >3)  "OpenDoc provides a compound docoument-centric interface that's really
  4823. > >    cool."
  4824. > >
  4825. > >me: (Note: I never said compound documents are already here.)
  4826. > >
  4827. > >    That's really a neat idea. However, compound documents are only
  4828. > >    really useful in the standard business applications--spreadsheets,
  4829. > >    word processors, project management, etc.
  4830. > >
  4831. > >    Those markets are already fully saturated by the big players, with
  4832. > >    Microsoft being the biggest.
  4833.  
  4834. > As I said before, early in this discussion, compound docs are not just for
  4835. > business applications.
  4836.  
  4837. Absolutely, I can see a number of ways in which OpenDoc will be useful in
  4838. reseach environments, particularly when data analysis is involved standard
  4839. parts can handle display of graphs, tables and graphics while specialist
  4840. parts can do the actual analysis, given that research is fluid and the
  4841. objectives of the analysis software keep changing with the research, this
  4842. should lead to better software being used by more scientists and students.
  4843.  
  4844. I'm sure the same model can be applied elsewhere.
  4845.  
  4846. Stephen
  4847.  
  4848. -- 
  4849. Macintosh Consultant, Victoria University of Wellington, New Zealand
  4850. Stephen.Marshall@vuw.ac.nz
  4851.  
  4852. It is not permitted for this message, in whole or in part,   
  4853. to appear on The Microsoft Network or affiliated networks.
  4854.  
  4855. +++++++++++++++++++++++++++
  4856.  
  4857. >From uminger@mcs.drexel.edu (Matthew Inger)
  4858. Date: Wed, 5 Jul 95 16:24:15 GMT
  4859. Organization: Drexel University, Dept. of Math. and Comp. Sci.
  4860.  
  4861. eric larson (elarson@metronj.org) wrote:
  4862. :  > However, let *me* summarize what *I* am saying.
  4863.  
  4864. :  > 1)  "OpenDoc is wonderful because it provides hot links and on-the-fly
  4865. :  >     updates across multiple applications."
  4866.  
  4867. :  > me: If hot-links were so darned important and so darned cool, then why
  4868. :  >     wait for OpenDoc? Use Publish and Subscribe.
  4869.  
  4870. :  >     If people aren't using Publish and Subscribe, then perhaps it's
  4871. :  > because
  4872. :  >     hot-links are not all that hyper-special and cool.
  4873.  
  4874. : Or it might be because Publish and Subscribe is a bletcherous implementation of
  4875. : hot links. Even the name makes one feel sort of woozy around the edges. Why
  4876.  
  4877. As opposed to Object Linking and Embedding?  Now there'es a really 
  4878. friendly name for you.  I do agree however that's it's a pretty crappy
  4879. implemenatation, (Publish and Subscribe) and that OLE is superior here, 
  4880. but OpenDoc will blow it away. Now both names are accurate, but neither is
  4881. friendly.  
  4882. Publish and subscribe.  When you subscribe to a magazine, yhou get the latest
  4883. edition, when you reach in your magazine rack (or something like that).  Just
  4884. like when you subscribe to something on a mac, you get the latest version that
  4885. was published whenever you call up your document.
  4886. Object Linkning and Embedding.  OK>  You have your object (excel table as
  4887. an example), you link it or embed it into a document, it is now part of the
  4888. document. very  true to it's name. 
  4889.  
  4890. Anyway, OLE is better for one big reason:
  4891.         1) Objects exist within the document that they are embedded in.  When
  4892.                 you publish  and subscribe, you have to have a sepereate document 
  4893.                 for the object.  This can be good however, if more than on e
  4894.                 doc is goign to use the exact same object.  But packages take
  4895.                 care of this problem.
  4896.  
  4897. : call it something impenetrable like "Publish and Subscribe" when it could be
  4898. : called something like Hot Links? Similarly to QuickDraw GX. How can the user
  4899. : grasp the benefits of a product with a name like that?
  4900.  
  4901. PostScript?  There's another stupid name for you.  Think aobut it. Post=after,
  4902. Script=write.  After  writing?  Now that's dumb.
  4903.  
  4904. --
  4905. Matt Inger
  4906. uminger@mcs.drexel.edu
  4907. minger@philly.nosc.mil
  4908. http://www.mcs.drexel.edu/~uminger/
  4909. "Remember when you were young?  You shone like the sun."
  4910.  
  4911. +++++++++++++++++++++++++++
  4912.  
  4913. >From cokenias@mtn-palace.com (Damon Cokenias)
  4914. Date: Wed, 05 Jul 1995 23:00:39 -0700
  4915. Organization: Mountain Palace
  4916.  
  4917. In article <1995Jul5.162415.9934@mcs.drexel.edu>, uminger@mcs.drexel.edu
  4918. (Matthew Inger) wrote:
  4919.  
  4920. > PostScript?  There's another stupid name for you.  Think aobut it. Post=after,
  4921. > Script=write.  After  writing?  Now that's dumb.
  4922.  
  4923. I think PostScript is so called because it uses post-fix notation (aka
  4924. reverse Polish notation).
  4925.  
  4926. For example, the familiar MoveTo (100, 200) looks like this in PS:
  4927.  
  4928. 100 200 moveto
  4929.  
  4930. It's much, much easier to parse (don't have to count parenthesis) and
  4931. arguably more difficult to program in.
  4932.  
  4933. -Damon
  4934.  
  4935. +++++++++++++++++++++++++++
  4936.  
  4937. >From Maynard Handley <maynardh@apple.com>
  4938. Date: 6 Jul 1995 17:19:29 GMT
  4939. Organization: Apple Computer
  4940.  
  4941. it seems to me regrading OpenDoc, people are taking the ``Doc'' pat of 
  4942. the name and the reltaed market hype too seriously and ignoring what it 
  4943. seems the technology could achieve.
  4944. My hope is that OD will allow for a rather stronger separation between 
  4945. the behvior of an app and the user interface of an app. 
  4946. For example my app, Sparkle, is designed to play MPEGs on the mac. That's 
  4947. what I really care about. But in addition to MPEG decoding, I have to 
  4948. deal with all sorts of requests from users that are UI issues---for 
  4949. example requesting a playback mode where all screens are blacked, the 
  4950. menu bar hidden and one MPEG is played full screen. 
  4951. Since this is basically a UI issue that is of no interest to me, it never 
  4952. happens. I would hope that if my code were written as an OpenDoc part, 
  4953. something like that would be handled by the overall app within whch I'm 
  4954. embedded and I can ignore it. 
  4955.  
  4956. This is part of a much wider issue. Consider all the different 
  4957. translation/decoding apps out there, everyone with a different UI most of 
  4958. which aren't great. Again maybe these thingswould be better in OD.
  4959.  
  4960. Now in many cases these things are best written as component software 
  4961. within the existing component frameworks---maybe MPEG as a QT media 
  4962. handler, or translation via Translation Manager. But in some cases no 
  4963. such framework obviously exists---eg for decompression of .zip/arj/.gz 
  4964. tyype docs. In other cases a framework is extant but too 
  4965. limited, or difficult to develop and debug in. Regardless it seems to 
  4966. me the hope is that OD provides yet another component software framework, 
  4967. but one much richer than what we've had before and with the limitations 
  4968. of the current systems examined and corrected.
  4969. With this viewpoint, issues like ``no-one uses publish&subsribe or 
  4970. apple-events, or compound documents'' become irrelevant.
  4971.  
  4972. Maynard
  4973. >From elarson@metronj.org (eric larson)
  4974. Subject: Why fuss over OpenDoc?
  4975. Date: 07 Jul 95 20:22:12 
  4976. Organization: FidoNet: No Microsoft Products Used To Produce This Message 
  4977.  
  4978.  > As opposed to Object Linking and Embedding?  Now there'es a really
  4979.  > friendly name for you.  I do agree however that's it's a pretty crappy
  4980.  > implemenatation, (Publish and Subscribe) and that OLE is superior here,
  4981.  > but OpenDoc will blow it away. Now both names are accurate, but neither
  4982.  > is friendly.
  4983.  
  4984.  > Publish and subscribe.  When you subscribe to a magazine, yhou get the
  4985.  > latest edition, when you reach in your magazine rack (or something like that
  4986. ).
  4987.  
  4988. etc.. I'm sure that's how Apple justifies the name internally, too. But I think
  4989. it's poor. Too many syllables. Drag 'n Drop. Now you've got something even a
  4990. user can understand.
  4991.  
  4992.  > : called something like Hot Links? Similarly to QuickDraw GX. How can
  4993.  > the user
  4994.  > : grasp the benefits of a product with a name like that?
  4995.  
  4996.  > PostScript?  There's another stupid name for you.  Think aobut it.
  4997.  
  4998. The deal with Postscript is that you don't have to think about it. Buy the
  4999. Apple Laserwriter. Plug it in. Print. Do you see the word Postscript anywhere?
  5000. Maybe on the test page. Which was trashed long ago.
  5001.  
  5002. If OpenDoc makes the user think, it will flop. If not, it will be a big big
  5003. winner.
  5004.  
  5005. "Civilization advances by reducing the number of operations you have to think
  5006. about to get the job done".
  5007.  
  5008. This is why Apple is a 10 billion dollar company. It could be a lot bigger if
  5009. Apple knew how to sell.
  5010.  
  5011. +++++++++++++++++++++++++++
  5012.  
  5013. >From susser@apple.com (Joshua Susser)
  5014. Date: Mon, 10 Jul 1995 18:46:05 GMT
  5015. Organization: Apple Computer, AppleSoft
  5016.  
  5017. Hi Bill.  It's good to see some thoughtful comments about OpenDoc here,
  5018. even if they are somewhat disdainful.  But I have enough confidence in
  5019. OpenDoc's technology and business planning that I think I can convince you
  5020. that we're not wasting our time here.
  5021.  
  5022. In article <woody-2806951358070001@192.0.2.1>,
  5023. woody@alumni.cco.caltech.edu (William Edward Woody) wrote:
  5024. > However, let *me* summarize what *I* am saying.
  5025. > 1)  "OpenDoc is wonderful because it provides hot links and on-the-fly
  5026. >     updates across multiple applications."
  5027. > me: If hot-links were so darned important and so darned cool, then why
  5028. >     wait for OpenDoc? Use Publish and Subscribe. 
  5029. >     If people aren't using Publish and Subscribe, then perhaps it's because
  5030. >     hot-links are not all that hyper-special and cool.
  5031.  
  5032. OpenDoc improves on the Edition Manager in several ways.  The most
  5033. important one is that it has a much improved user interface.  It's just a
  5034. variation on "Paste" to create a link - no mucking about with edition
  5035. files.  At the programming level, linking is similar to copy/paste or
  5036. drag&drop - it all used the standard storage API for data transfer.  There
  5037. is some extra stuff you have to support for linking, and it's not
  5038. effortless to program, but it's not that awful either.
  5039.  
  5040. > 2)  "OpenDoc provides wonderful interapplication interaction."
  5041. > me: If interapplication interaction was do darned cool, then why wait
  5042. >     for OpenDoc? Use AppleEvents.
  5043. >     If people aren't using AppleEvents, then perhaps it's because
  5044. >     interapplication interaction is not all that hyper-special and cool.
  5045.  
  5046. But people are using Apple Events.  The Mac is the coolest netsurfing
  5047. platform in the universe, largely because of Apple Events.  For example,
  5048. in Newswatcher I can click on a URL and Netscape will go and browse that
  5049. page for me.  That kind of integration has become pervasive among Mac
  5050. Internet client software.  I agree that AppleScript hasn't become the
  5051. market-dominating behemoth it might have, but the technology there is
  5052. sound.  Check out the AppleScript infomercial sometime, and be very
  5053. impressed at what some publishing folks have done with it - they reduced
  5054. their catalog production process by something like two orders of magnitude
  5055. of time and effort, all with AppleScript automation.
  5056.  
  5057. But the big thing that OpenDoc will do for linking and interapp
  5058. interaction comes with the integration of the technologies into the
  5059. OpenDoc experience.  Linking and scripting will operate synergistically
  5060. with embedding and all the other OpenDoc features.  There will be no "now
  5061. I'm doing linking" mode change to think about.  You should be able to
  5062. create an index part that you can embed at the end of a document, that
  5063. uses scripting to generate an index from a list of words.  It would run
  5064. through the various parts in a document, and generate links back to the
  5065. occurances of the words, showing the keyword in context in the index
  5066. itself, keeping itself up to date automatically.
  5067.  
  5068. So no longer will linking and scripting be lone technologies.  They will
  5069. integrate into the total user experience, and so their value will be
  5070. increased from the synergy of that integration.
  5071.  
  5072. > 3)  "OpenDoc provides a compound docoument-centric interface that's really
  5073. >     cool."
  5074. > me: (Note: I never said compound documents are already here.)
  5075. >     That's really a neat idea. However, compound documents are only
  5076. >     really useful in the standard business applications--spreadsheets,
  5077. >     word processors, project management, etc.
  5078.  
  5079. Where did you get an idea like that?  Compound documents are useful for
  5080. all sorts of things.  Don't get fooled by the word "document" there - you
  5081. can build all sorts of things that don't fit into the traditional
  5082. definition of the term.  One thing I use my Mac for a lot is keeping a
  5083. database of my personal contacts.  It would be great to be able to embed
  5084. graphics like maps to houses, pictures, etc.  I'd also like to be able to
  5085. link Eudora's nicknames to an email address field in my database, so I
  5086. only have to keep that info in one place.  And I'd like to have CyberDog
  5087. links to home pages, etc. there as well.  Okay, admittedly I'm a power
  5088. user to the extreme, but you perhaps begin to get the idea.
  5089.  
  5090. Also think of scientific applications, visualization in particular.  Drop
  5091. some parts into a container, connect them together, and you have an
  5092. instant visualization system.  You can do this today with existing
  5093. systems, but they are all very specialized.  OpenDoc would enable that
  5094. kind of system, and include all the standard OpenDoc features as well.
  5095.  
  5096. >     Those markets are already fully saturated by the big players, with
  5097. >     Microsoft being the biggest.
  5098. >     Is OpenDoc going to help us put together really cool business
  5099. >     applications? Yes. Will we see any revenue or return from our
  5100. >     programming investment from putting together really cool business
  5101. >     applications? Only if Microsoft (or another big player already in
  5102. >     this fully saturated market) picks up the tool and puts into a
  5103. >     new revision of their product.
  5104.  
  5105. One thing OpenDoc will do is allow easy construction of custom solutions
  5106. from standard parts.  Imagine being able to produce software for a
  5107. vertical market of one, but with the functionality and robustness of
  5108. applications that are used by millions.  No, I don't envision my barber
  5109. going out and assembling his business software from parts, but I can see
  5110. him paying a small fee for a consultant to do that.  Then he'd have
  5111. exactly the software he'd need to keep a client list, schedule, product
  5112. inventory, and whatever - all integrated into a seamless whole.  This will
  5113. happen whether or not Microsoft or some other big player leads the way,
  5114. because of market evolution.
  5115.  
  5116. > 4)  I have been told by some at Apple that "OpenDoc is the Microsoft
  5117. >     Killer." (That's why Microsoft is trying to kill OpenDoc.) That is,
  5118. >     "OpenDoc will allow smaller software developers to effectively pick
  5119. >     Microsoft's choakhold on the business software market apart."
  5120. > me: People do not buy individual software tools. They buy pre-packaged
  5121. >     software packages. (That's why Microsoft Office is so darned
  5122. >     successful--a one stop solution.)
  5123. >     So, we basically reduce this argument to the same as for #3, above.
  5124.  
  5125. See my response above.  Yes, people don't buy parts and assemble them. 
  5126. How many PC owners bought a motherboard, a power supply, a hard disk, etc.
  5127. and put them together?  We expect component software to sell the same way
  5128. as apps do today.  Instead of buying ClarisWorks or WordPerfect or
  5129. whatever as one app, I'll buy it as a bunch of parts.  It's no harder for
  5130. me to buy that way, and will probably cost the same, but upgrading the
  5131. drawing component will be much easier for both the developer and the
  5132. buyer.  And extending the existing "application" with new functionality
  5133. will also be easier.
  5134.  
  5135. So given that as the basic environment, imagine I'm a guy who has this
  5136. really cool equation editing software.  Right now, it would be hopeless to
  5137. try to sell a product based on that, because it's useless without the
  5138. whole word processor - nobody *just* want's to edit equations, they want a
  5139. equation here or there in some document - and there's no way I can compete
  5140. with Microsoft or whoever selling a word processor.  But with OpenDoc, I
  5141. can create an equation part editor which will work in any part that allows
  5142. embedding.  Suddenly I can sell my software and make money.  There are a
  5143. lot of questions about distribution channels to consider (will the
  5144. equation editor be sold stand alone, as part of a goodies package, over
  5145. the internet, or what?), but at least it's feasible to make money off the
  5146. thing.
  5147.  
  5148. > The first is: when getting multiple applications to work together, they
  5149. > must agree on what they are talking about in the first place. (It would
  5150. > make no sense for a mail-tool to ask Micrsoft Excel to e-mail an outgoing
  5151. > message, would it?) Does OpenDoc mediate this? How? And does OpenDoc
  5152. > define the standards two applications use on having a conversation?
  5153.  
  5154. There are two main mechanisms OpenDoc parts use to interoperate.  One is
  5155. scripting; this uses the standard terminology stuff to indicate
  5156. functionality.  The other is the Extension mechanism, which is lower level
  5157. and higher performance.  Extensions are classified by a standard naming
  5158. scheme.  CI Labs has ownership of the extension registry.  You don't have
  5159. to register a particular extension to get a name for it, but if you do,
  5160. other part developers will know about it and be able to use it.  If you
  5161. publish the specification, other developers can implement that extension
  5162. on their part editors, and your add-on will work with their parts.
  5163.  
  5164. > If so, then doesn't this also constitute an added level of complications?
  5165. > (A good level which we need, regardless if OpenDoc takes off or not.)
  5166. > If not, then how are we supposed to get our applications to work
  5167. > together?
  5168.  
  5169. This stuff doesn't seem very complicated to me, but then, I helped design
  5170. it.  Even so, the standard reaction from developers looking at Extensions
  5171. is "Cool!", not "Gee, this is complicated."  As for the higher-level issue
  5172. of designing solutions built from cooperating parts, well, if the internet
  5173. stuff we've seen on the Mac is a good example, or the Virtual Suite stuff
  5174. takes off, it will work pretty well.
  5175.  
  5176. > The second is: when getting on-the-fly updates to work, I do know that 
  5177. > applications can default to sending raw pictures and text if they
  5178. > cannot mediate on a common specification language for those updates.
  5179. > Does OpenDoc define other types of conversations? Or is that up to us?
  5180.  
  5181. The OpenDoc storage format allows for writing multiple formats for a piece
  5182. of content.  So your word processor can save its own format, RTF and
  5183. ASCII, for example.  It might also save a PICT or bitmap if formatting is
  5184. important.  Multiple formats can be used not only for saving documents,
  5185. but also for data transfer, since clipboard/drag&drop/linking all use the
  5186. storage API for exchanging data.
  5187.  
  5188. The recipe goes like this: The source of the data transfer puts the
  5189. content on the data transfer draft in multiple formats, in order of
  5190. fidelity.  The destination scans through the formats in order they were
  5191. written, looking for a format it can accept.  If there are no formats that
  5192. can be merged with its own content, it will embed the content as a
  5193. separate part.  (The user also has explicit control over the decision if
  5194. desired.)  This applies to linking as well as moving or copying data.
  5195.  
  5196. > Well, I'm off to read the API specifications.
  5197.  
  5198. You mean you've been harping on OpenDoc all this time without any
  5199. background?  Well, once a Techer, always a Techer... :>
  5200.  
  5201. Joshua Susser, Object Contortionist
  5202. Apple Computer - OpenDoc Engineering
  5203. inet: susser@apple.com | link: susser.j | phone: 408/974-6997
  5204.  
  5205. +++++++++++++++++++++++++++
  5206.  
  5207. >From petrich@netcom.com (Loren Petrich)
  5208. Date: Tue, 11 Jul 1995 20:19:29 GMT
  5209. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  5210.  
  5211.         One last thing:
  5212.  
  5213.         When is OpenDoc supposed to be released? I know it's in beta, and 
  5214. I've seen a MacWeek article suggesting some time in September, but I've 
  5215. yet to see any official announcements from Apple about this. I wonder how 
  5216. much longer OpenDoc will be in the limbo that Windoze 4.0 has been in?
  5217.  
  5218. -- 
  5219. Loren Petrich, the Master Blaster       Happiness is a fast Macintosh
  5220. petrich@netcom.com                      And a fast train
  5221. Visit ftp://ftp.netcom.com/pub/pe/petrich
  5222. Or ftp to ftp.netcom.com, then go to /pub/pe/petrich
  5223.  
  5224. ---------------------------
  5225.  
  5226. End of C.S.M.P. Digest
  5227. **********************
  5228.